No puedo integrar swagger en mi proyecto y aparece un error de respaldo

Resuelto Alok Sardar asked hace 10 meses • 0 respuestas

Estaba tratando de integrar la arrogancia en mi código consultando una guía sobre el medio. Pero aparece la página de error de etiqueta blanca. página de errores

Mis fragmentos de código a continuación. Propiedades de la aplicación:

spring.datasource.url=jdbc:h2:mem:testdb
spring.datasource.driverClassName=org.h2.Driver
spring.datasource.username=sa
spring.datasource.password=password
springfox.documentation.swagger-ui.enabled=true
server.servlet.contextPath=/swagger-u

Swaggerconfig.Java:

@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api(){
return new Docket(DocumentationType.SWAGGER_2).select().apis(RequestHandlerSelectors.basePackage("com.ecommerce.app")).paths(PathSelectors.ant("/*")).build();
}
}

Webconfig.java:

@Configuration
public class WebConfig {
@Bean
public WebMvcConfigurer corsConfigurer() {
return new WebMvcConfigurer() {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**").allowedOrigins("*").allowedMethods("GET", "PUT", "POST", "PATCH", "DELETE");
}
};
}
}

Pom.xml:

<properties>
<java.version>17</java.version>
<org.mapstruct.version>1.5.5.Final</org.mapstruct.version>
</properties>
<dependencies>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct</artifactId>
<version>1.5.5.Final</version>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source> <!-- depending on your project -->
<target>1.8</target> <!-- depending on your project -->
<annotationProcessorPaths>
<path>
<groupId>org.mapstruct</groupId>
<artifactId>mapstruct-processor</artifactId>
<version>${org.mapstruct.version}</version>
</path>
<!-- other annotation processors -->
</annotationProcessorPaths>
</configuration>

Intenté usar localhost:8080/swagger-ui.html y swagger-ui/index.html, pero no pude obtener nada fructífero. Cualquier sugerencia será apreciada.

Alok Sardar avatar Feb 16 '24 02:02 Alok Sardar
Aceptado

Si está intentando integrar swagger-ui a su servicio, utilice OpenApi. Agregue esta dependencia en pom.xml:

<dependency>
   <groupId>org.springdoc</groupId>
   <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
   <version>2.1.0</version>
</dependency>

No es necesario agregar ninguna configuración en application.yml/application.properties. Si desea agregar contenido de descripción personalizado, puede implementar SwaggerConfig, es opcional. Código para su referencia:

@OpenAPIDefinition
@Configuration
public class SwaggerConfig {
    @Bean
    public OpenAPI baseOpenAPI(){

        return new OpenAPI()
                .info(new Info()
                        .title("My-MicroService OpenAPI Docs")
                        .version("1.0.0").description("Available API's in My Microservice"));
    }

}
Ch Vamsi avatar Feb 16 '2024 10:02 Ch Vamsi