DEV Community

Mauricio Huertas T.
Mauricio Huertas T.

Posted on

Swagger en Spring Boot 3.0

Cómo Instalar Swagger en Spring Boot 3.0 con Maven

Si estás trabajando en un proyecto Spring Boot 3.0 y deseas integrar Swagger para documentar y visualizar tu API, sigue estos pasos sencillos.

Primero, añade la siguiente dependencia a tu archivo pom.xml:

<dependency>
    <groupId>org.springdoc</groupId>
    <artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
    <version>2.2.0</version>
</dependency>
Enter fullscreen mode Exit fullscreen mode

Luego, en las propiedades de tu aplicación, incluye la siguiente configuración para ordenar las operaciones en la interfaz de usuario de Swagger:

springdoc.swagger-ui.operationsSorter=method
Enter fullscreen mode Exit fullscreen mode

Si estás utilizando Spring Security, es importante permitir que Swagger se muestre. Añade reglas específicas, por ejemplo:

return http
    .cors(c -> corsConfigurationSource())
    .csrf(csrf -> csrf.disable())
    .authorizeHttpRequests(auth -> auth
        .requestMatchers("/v3/api-docs")
        .permitAll()
        .requestMatchers("/swagger-ui/**")
        .permitAll()
        .requestMatchers("/v3/api-docs/swagger-config")
        .permitAll()
        .anyRequest()
        .authenticated());
Enter fullscreen mode Exit fullscreen mode

Si deseas una configuración más detallada, crea una clase SwaggerConfig con el siguiente contenido:

@Bean
public OpenAPI openAPI() {
    return new OpenAPI()
            .addSecurityItem(new SecurityRequirement().addList(token))
            .components(new Components().addSecuritySchemes(tokenApp, createAPIKeyScheme()))
            .info(new Info()
                    .title("Web service API")
                    .description("API de acceso a aplicaciones")
                    .version("1.0.0")
                    .contact(new Contact()
                            .name("EmSolucion")
                            .email("info@emsolucion.com")
                            .url("www.emsolucion.com"))
                    .license(new License().name("Licencia de API")
                            .url("URL de la licencia de la API")));
}

private SecurityScheme createAPIKeyScheme() {
    return new SecurityScheme().type(SecurityScheme.Type.APIKEY)
            .in(SecurityScheme.In.HEADER)
            .name(tokenApp);
}
Enter fullscreen mode Exit fullscreen mode

¡Listo! Ahora tendrás Swagger integrado en tu proyecto Spring Boot 3.0. No dudes en dejar tus comentarios y preguntas. ¡Saludos!

"Finalmente, agradezco tu tiempo al leer este artículo y espero contar con tu apoyo."

Image description

Image description

Ing. Mauricio Huertas T.

Top comments (0)