Код: Выделить всё
ResourceConfig swaggerResourceConfig = new ResourceConfig()
.packages("io.swagger.v3.jaxrs2.integration.resources")
.register(OpenApiResource.class)
.register(SwaggerSerializers.class)
.register(AcceptHeaderOpenApiResource.class)
.property("jersey.config.server.wadl.disableWadl", true);
SwaggerConfiguration oasConfig = new SwaggerConfiguration()
.openApi(baseModel) //
[code]public OpenAPI patchMissingDescriptions(OpenAPI openAPI) {
if (openAPI.getPaths() != null) {
for (Entry entry : openAPI.getPaths().entrySet()) {
for (Operation operation : entry.getValue().readOperations()) {
if (operation.getResponses() != null) {
for (Entry respEntry : operation.getResponses().entrySet()) {
ApiResponse response = respEntry.getValue();
if (response.getDescription() == null) {
response.setDescription("some description");
}
}
}
}
}
}
return openAPI;
}
< /code>
проблема: < /strong> < /p>
[*] Мне нужно вызвать PatchMissingDescriptions()Calling Read () о Openapicontext Чтобы получить OpenApi , запрещенно замедляется из -за глубокого отражения, поэтому я не могу использовать это. Для < /strong> < /p>
точка расширения в интеграции Swagger-Core или JAX-RS, которая позволяет мне мутировать в объекте OpenAPI в памяти ровно, после его построения, но перед тем, как он кэширован /сериализован. Описания без дублирования логики сканирования. < /p>
< /li>
< /ul>
Что я пробовал: < /strong> < /p>
Вручную CTX.Read () Каждый раз, но мое приложение просто FERZES из -за отражения < /li>
< /ul>
Подробнее здесь: https://stackoverflow.com/questions/796 ... apiresourc