Oi gente, segui passo a passo da recomendação do curso sobre o monitoramento da api com springfox, só que a versão que passaram no curso o 8, está dando erro nessa classe SpringFoxConfig.
@Bean
public InitializingBean removeSpringfoxHandlerProvider(DocumentationPluginsBootstrapper bootstrapper) {
return () -> bootstrapper.getHandlerProviders().removeIf(WebMvcRequestHandlerProvider.class::isInstance);
}
E também nesse método:
@Bean
public RequestHandlerProvider customRequestHandlerProvider(Optional<ServletContext> servletContext, HandlerMethodResolver methodResolver, List<RequestMappingInfoHandlerMapping> handlerMappings) {
String contextPath = servletContext.map(ServletContext::getContextPath).orElse(ROOT);
return () -> handlerMappings.stream()
.filter(mapping -> !mapping.getClass().getSimpleName().equals("IntegrationRequestMappingHandlerMapping"))
.map(mapping -> mapping.getHandlerMethods().entrySet())
.flatMap(Set::stream)
.map(entry -> new WebMvcRequestHandler(contextPath, methodResolver, tweakInfo(entry.getKey()), entry.getValue()))
.sorted(byPatternsCondition())
.collect(toList());
}
RequestMappingInfo tweakInfo(RequestMappingInfo info) {
if (info.getPatternsCondition() == null) return info;
String[] patterns;
patterns = info.getPatternsCondition().getPatternValues().toArray(String[]::new);
return info.mutate().options(new RequestMappingInfo.BuilderConfiguration()).paths(patterns).build();
}
Precisamente o que está dando erro é o getHandlerProviders() e o WebMvcRequestHandler(contextPath, methodResolver, tweakInfo(entry.getKey()), entry.getValue())), está falando nesse último que esperava 3 argumentos e foi passado 4. Será que tem a ver com a troca de versão no pom? Testei com a versão passada no vídeo 2.1.4 e 2.1.5 e a atualização atual que é a 2.7.5. A versão do java testei com a 8, 11 e 18 e também não deu certo. Alguém sabe o que seria? Obrigada!