Невозможно создать swagger v3 для проекта Java.JAVA

Программисты JAVA общаются здесь
Anonymous
Невозможно создать swagger v3 для проекта Java.

Сообщение Anonymous »

Я пытаюсь перенести наш проект Java Tomcat Spring Boot 3.x из Swagger 2 в Swagger 3 для создания документации API.
Текущая установка использует swagger-core и связанные библиотеки вместе с файлами web.xml и ApplicationConfig.java для установки конфигурации. Я внес изменения на основе примеров, представленных в вики swagger-core, с настройкой ApplicationConfig.java и web.xml, настройкой openapi-configuration.json и web.xml, но ни один из них не сработал, поскольку я считаю, что допустил какую-то ошибку при настройке.
Я изменил все аннотации, чтобы они соответствовали тем, что указаны в OAS v3. и поскольку мы используем ant для создания нашего проекта, мы не используем ivy. Я понимаю, что муравей очень старый, но на данный момент из-за нехватки времени мы не сможем какое-то время от него отойти.
  • Я бы тоже хотел хотелось бы сохранить такую ​​настройку, если это возможно, и не использовать для этого Springfox или Springdoc.
Это изменения, которые я пытался создать с помощью Swagger.
  • для ApplicationConfig.java я удалил BeanConfig и изменил импорт, чтобы он соответствовал swagger v3.
  • для web.xml я добавил пакет ресурсов swagger v3 и удален старый сервлет Jersey2Config
ApplicationConfig.java

Код: Выделить всё

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());
}
}
}
web.xml

Код: Выделить всё


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


Я не могу просмотреть Swagger по этой ссылке. (Я получаю доступ к своему приложению по ссылке http://100.77.43.231:8080)
http://localhost: 8080/ums/openapi.json
Мне нужно решить проблему и создать swagger для моего приложения. Предложите свои предложения и дайте мне знать, если вам нужна дополнительная информация

Подробнее здесь: https://stackoverflow.com/questions/790 ... va-project

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