Ao tentar executar o link do v3/api-docs para ter acesso aos json ele retorna uma página completamente desconfigurada:
Vou encaminhar meus métodos de configuração e depêndencia utilizada
@Bean
public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception {
return http.csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
//Configurando autorizações
.and().authorizeHttpRequests()
//Configuração para que a requisição de login sempre seja autorizada:
.requestMatchers(HttpMethod.POST, "/login").permitAll() //request publica
.requestMatchers( "/v3/api-docs/**", "/swagger-ui.html", "/swagger-ui/**").permitAll()
.anyRequest().authenticated() //qualquer outra request precisa ser autenticada
//Configurando a ordem de chamada do filtros
//Primeiro executa o filtro de autenticação(SecurityFilter), depois o filtro nativo do Spring (UsernamePasswordAuthenticationFilter.class) que verifica se o usuário está logado
.and().addFilterBefore(securityFilter, UsernamePasswordAuthenticationFilter.class)
.build();
}
@Configuration
public class SpringDocConfiguration {
@Bean
public OpenAPI customOpenAPI() {
return new OpenAPI()
.components(new Components()
.addSecuritySchemes("bearer-key",
new SecurityScheme().type(SecurityScheme.Type.HTTP).scheme("bearer").bearerFormat("JWT")));
}
}
<dependency>
<groupId>org.springdoc</groupId>
<artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
<version>2.1.0</version>
</dependency>