Olá, ao entrar com o endereço http://localhost:8080/swagger-ui.html está exibindo no browser a String "Hello World" do controller HelloController. Tive que comentar toda a classe HelloController para exibir a documentação da API, mas nesse caso, fica faltando a HelloController na lista. Na vídeo aula isso não acontece e exibe o controller HelloController na lista de controllers. Não consegui identificar porque está exibindo a String "Hello World" ao invés da documentação Swagger da API Seguem as classes.
@Controller
public class HelloController {
@RequestMapping
@ResponseBody
public String hello() {
return "Hello World";
}
}
@SpringBootApplication
@EnableSpringDataWebSupport
@EnableCaching
@EnableSwagger2
public class ForumApplication {
public static void main(String[] args) {
SpringApplication.run(ForumApplication.class, args);
}
}
@Configuration
public class SwaggerConfigurations {
@Bean
public Docket forumApi() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.basePackage("br.com.alura.forum"))
.paths(PathSelectors.ant("/**"))
.build()
.ignoredParameterTypes(Usuario.class);
}
}
@EnableWebSecurity
@Configuration
public class SecurityConfigurations extends WebSecurityConfigurerAdapter{
@Autowired
private AutenticacaoService autenticacaoService;
@Autowired
private TokenService tokenService;
@Autowired
private UsuarioRepository usuarioRepository;
@Override
@Bean
protected AuthenticationManager authenticationManager() throws Exception {
return super.authenticationManager();
}
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(autenticacaoService).passwordEncoder(new BCryptPasswordEncoder());
}
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers(HttpMethod.GET, "/topicos").permitAll()
.antMatchers(HttpMethod.GET, "/topicos/*").permitAll()
.antMatchers(HttpMethod.POST, "/auth").permitAll()
.antMatchers(HttpMethod.GET, "/actuator/**").permitAll()
.anyRequest().authenticated()
.and().csrf().disable()
.sessionManagement().sessionCreationPolicy(SessionCreationPolicy.STATELESS)
.and().addFilterBefore(new AutenticacaoViaTokenFilter(tokenService, usuarioRepository), UsernamePasswordAuthenticationFilter.class); //Spring Boot API Rest: Segurança da API, Cache e Monitoramento - 05.Autenticação via JWT, ITEM 02. Recuperando o token do header Authorization
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring()
.antMatchers("/h2-console/**")//para liberar o acesso ao banco h2
.antMatchers("/**.html", "/v2/api-docs", "/webjars/**", "/configuration/**", "/swagger-resources/**");//Para liberar o acesso a API Swagger sem precisar autenticar
}