Guia prático para habilitar o Swagger!
- #Spring Framework
- #Spring Boot / Spring Framework
- #Java
O que é o Swagger UI?
O Swagger UI (UI é a abreviação de user interface), provê uma interface gráfica que tornar acesso a documentação da API muito mais intuitiva e simples. Tudo fica mais fácil com uma interface no meio. 😆
Como usá-lo no meu projeto Spring ?
1- Para poder utilizar o Swagger em seu projeto, basta adicionar as dependências abaixo no seu arquivo pom.xml, dentro da tag <dependecies>coloque a dependencia aqui dentro</dependecies> :
<!-- Springfox dependency (added via https://www.treinaweb.com.br/blog/documentando-uma-api-spring-boot-com-o-swagger) -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<!-- SwaggerUI dependecy (added via https://www.treinaweb.com.br/blog/documentando-uma-api-spring-boot-com-o-swagge/) -->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Após adicionar a dependência ao seu projeto, no local correto, salve o arquivo e vamos para o próximo passo!
2- O Maven vai baixar todos os arquivos necessários para que você possa utilizar o Swagger tranquilamente, porém, você precisará de uma classe de configuração para iniciar o Swagger. Criei a classe abaixo no pacote onde está a classe main do projeto e nomeei de SwaggerConfig:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
As anotações em cima da classe vão mostrar ao Spring para ativar o Swagger e utilizar as configurações estabelecidas na classe.
3- Por fim, se você tentar rodar a aplicação e obtiver um erro como este:
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
Basta adicionar no seu arquivo application.properties a seguinte linha:
spring.mvc.pathmatch.matching-strategy=ant_path_matcher
Pronto, tudo deve funcionar perfeitamente agora!
Referências:
Caso queira saber um pouco mais sobre o OpenApi, aqui está o site com sua documentação: https://springdoc.org/
Se tem curiosidade e deseja saber mais sobre o Swagger, aqui está o site com sua documentação: https://swagger.io/
Sites que utilizei para resolver o problema de instalar o Swagger:
https://www.treinaweb.com.br/blog/documentando-uma-api-spring-boot-com-o-swagger
https://cursos.alura.com.br/forum/topico-failed-to-start-bean-documentationpluginsbootstrapper-198514
Qualquer dúvida, deixe nos comentários, aproveita e diz se curtiu o artigo.