Open olgajuanne opened 2 years ago
Eu não analisei bem o seu caso, mas comigo também deu erro e encontrei esta solução no Stackoverflow https://stackoverflow.com/questions/40241843/failed-to-start-bean-documentationpluginsbootstrapper-in-spring-data-rest
Abre o seu application.properties e coloca a linha abaixo spring.mvc.pathmatch.matching-strategy = ANT_PATH_MATCHER
Oi @tarcnux, essa solução não funcionou no meu, mas encontrei outra...
Solução que encontrei.
O spring-boot estava indicando erro na dependência swagger-ui, no terminal do VsCode, pesquise alguns artigos e achei um vídeo detalhando como fazer a modificação para fazer a aplicação rodar.
Devido erro de versão no Swagger, efetuei algumas mudanças nas dependências do arquivo pom.xml.
@EnableSwagger2
foi removido.
A versão Spring fox 3.0.0 não suporta o novo padrão spring-boot 2.6.0 e acima, no meu caso era a versão 2.7.4.
Modifiquei as versões e funcionou com essa:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.2</version>
</parent>
A dependência que não estava funcionando:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>3.0.0</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>3.0.0</version>
</dependency>
Substituída por essa:
<!-- https://mvnrepository.com/artifact/io.springfox/springfox-boot-starter -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
Modificando também o link de acesso de http://localhost:8080/swagger-ui.html para http://localhost:8080/swagger-ui/index.html.
Meu projeto no Github (https://github.com/olgajuanne/cloud-parking)
O vídeo que me ajudo (https://youtu.be/pMXnR1T47e0)
Boa! Que bom que você correu atrás para resolver e não desistiu. Eu estou nos finalmentes no projeto cloud-parking. Espero concluir entre hoje ou amanhã.
@olgajuanne Me ajudou muito, estava tentando de tudo pra fazer essa swagger-ui rodar.
@olgajuanne Esse video ajudou demais. Muito obrigado pela indicação e parabéns pela sua sagacidade na procura. Ps: No comentário do video eu acabei vendo uma outra solução sem que seja preciso alterar as dependências e incluindo uma indicação no @bean da classe "SwaggerConfig". Testei aqui e também funcionou, embora eu não tenha entendido bem como o código funciona exatamente. Mas pra quem estiver com o problema ai usando a dependência do springfox-swagger-ui 3.0.0 e springfox-swagger2 3.0.0 pode testar ai que também funciona. Segue:
Para rodar em versões do SB > 2.6.0 é preciso configurar assim:
========DEPENDÊNCIA===========
=======ADICIONAR OS BEANS NA CLASSE DE CONFIG DO SWAGGER=====
@Bean
public InitializingBean removeSpringfoxHandlerProvider(DocumentationPluginsBootstrapper bootstrapper) {
return () -> bootstrapper.getHandlerProviders().removeIf(WebMvcRequestHandlerProvider.class::isInstance);
}
@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.getPathPatternsCondition() == null) return info;
String[] patterns = info.getPathPatternsCondition().getPatternValues().toArray(String[]::new);
return info.mutate().options(new RequestMappingInfo.BuilderConfiguration()).paths(patterns).build();
}
Erro no Terminal do Visual Studio Code.
O arquivo pom.xml com a dependência swagger:
Alterando a versão para 3.0.0 :
Não entendi o que tenho que fazer para sair esse erro, e rodar a api.