Проблема при добавлении аннотации SwaggerDefinition на уровне классаJAVA

Программисты JAVA общаются здесь
Anonymous
Проблема при добавлении аннотации SwaggerDefinition на уровне класса

Сообщение Anonymous »

Я новичок в библиотеке Spoon для преобразования источника Java. Попытка использовать его для преобразования существующих служб отдыха. Требование состоит в том, чтобы добавить аннотацию io.swagger.annotations.swaggerDefinition на уровне класса, например ,::

@SwaggerDefinition(
tags = {
@Tag(
name = "api name", description = "api description"
)
}
)
< /code>

Проблема, с которой сталкивается, заключается в том, что когда я добавляю аннотацию, она добавляется как: < /p>

@SwaggerDefinition(
tags =
@Tag(
name = "api name", description = "api description"
)
)
< /code>

note < /em>: отсутствующие кудривые скобки '{' и соответствующая закрывающаяся скоба '}' < /p>

Ниже приведены функции, которые используются: < /p>

private CtAnnotation createSwaggerDefinitionAnnotation(CtClass ctClass) throws JSONException {

CtAnnotation tagAnnotation = createTagAnnotation(ctClass);

CtAnnotation swaggerDefAnnotation = getFactory().Core().createAnnotation();
CtTypeReference ref = getFactory().Core().createTypeReference();
ref.setSimpleName("SwaggerDefinition");

CtPackageReference refPackage = getFactory().Core().createPackageReference();
refPackage.setSimpleName("io.swagger.annotations");
ref.setPackage(refPackage);
swaggerDefAnnotation.setAnnotationType(ref);

swaggerDefAnnotation.addValue("tags", tagAnnotation); // TODO: The tag should be wrapped in curly braces

return swaggerDefAnnotation;
}

private CtAnnotation createTagAnnotation(CtClass ctClass) {

String className = ctClass.getQualifiedName();

CtAnnotation tagAnnotation = getFactory().Core().createAnnotation();
CtTypeReference ref = getFactory().Core().createTypeReference();
ref.setSimpleName("Tag");

CtPackageReference refPackage = getFactory().Core().createPackageReference();
refPackage.setSimpleName("io.swagger.annotations");
ref.setPackage(refPackage);
tagAnnotation.setAnnotationType(ref);

tagAnnotation.addValue("name", getSwaggerDefinitionTagName(className));
tagAnnotation.addValue("description", getSwaggerDefinitionTagDescription(className));
return tagAnnotation;
}
< /code>

может кто -нибудь идентифицировать недостающую часть. Я не могу понять это.

Подробнее здесь: https://stackoverflow.com/questions/391 ... lass-level

Вернуться в «JAVA»