Текущая установка использует swagger-core и связанные библиотеки вместе с файлами web.xml и ApplicationConfig.java для установки конфигурации. Я внес изменения на основе примеров, представленных в вики swagger-core, с настройкой ApplicationConfig.java и web.xml, настройкой openapi-configuration.json и web.xml, но ни один из них не сработал, поскольку я считаю, что допустил какую-то ошибку при настройке.
Я изменил все аннотации, чтобы они соответствовали тем, что указаны в OAS v3. и поскольку мы используем ant для создания нашего проекта, мы не используем ivy. Я понимаю, что муравей очень старый, но на данный момент из-за нехватки времени мы не сможем какое-то время от него отойти.
- Я бы тоже хотел хотелось бы сохранить такую настройку, если это возможно, и не использовать для этого Springfox или Springdoc.
- для ApplicationConfig.java я удалил BeanConfig и изменил импорт, чтобы он соответствовал swagger v3.
- для web.xml я добавил пакет ресурсов swagger v3 и удален старый сервлет Jersey2Config
Код: Выделить всё
package com.org.ocsdm.ws.rest.resources.common;
import com.org.ocsdm.ws.rest.resources.common.FileResource;
import com.org.ocsdm.ws.rest.resources.internal.*;
import com.org.ocsdm.ws.rest.resources.common.SessionResource;
import io.swagger.v3.jaxrs2.integration.resources.OpenApiResource;
import io.swagger.v3.jaxrs2.integration.resources.AcceptHeaderOpenApiResource;
import io.swagger.v3.oas.integration.SwaggerConfiguration;
import io.swagger.v3.jaxrs2.SwaggerSerializers;
import org.glassfish.jersey.server.ResourceConfig;
import jakarta.ws.rs.ApplicationPath;
@ApplicationPath("/ums")
public class ApplicationConfig extends ResourceConfig {
public ApplicationConfig() {
try {
// These class files were present previously as well
this.register(FileResource.class);
this.register(CallBackResource.class);
this.register(CertificateResource.class);
this.register(DeviceTrapResource.class);
this.register(RegistrationResource.class);
this.register(SwaggerSerializers.class);
this.register(OpenApiResource.class);
SwaggerConfiguration oasConfig = new SwaggerConfiguration()
.openAPI(new OpenAPI()
.info(new Info()
.title("Your API Title")
.version("v1.1")
.description("Your API Description")))
.prettyPrint(true)
.resourcePackages(Stream.of("com.org.ocsdm.ws.rest").collect(Collectors.toSet()));
OpenApiResource openApiResource = new OpenApiResource();
openApiResource.setOpenApiConfiguration(oasConfig);
this.register(openApiResource);
} catch (Throwable e) {
e.printStackTrace();
System.out.println("AA:: Exception " + e.getMessage());
}
}
}
Код: Выделить всё
UMS Rest Service
log4jConfigLocation
classpath:log4j2.xml
RestService
org.glassfish.jersey.servlet.ServletContainer
jakarta.ws.rs.core.Application
com.org.ocsdm.ws.rest.resources.common.ApplicationConfig
// made changes here
jersey.config.server.provider.packages
com.org.ocsdm.ws.rest,
io.swagger.v3.jaxrs2.integration.resources
jersey.config.server.provider.classnames
org.glassfish.jersey.media.multipart.MultiPartFeature
jersey.api.json.POJOMappingFeature
true
1
RestService
/ums/*
CorsFilter
org.apache.catalina.filters.CorsFilter
CorsFilter
/*
404
/404error.html
500
/500error.html
http://localhost: 8080/ums/openapi.json
Мне нужно решить проблему и создать swagger для моего приложения. Предложите свои предложения и дайте мне знать, если вам нужна дополнительная информация
Подробнее здесь: https://stackoverflow.com/questions/790 ... va-project