Article image
Arthur Martins
Arthur Martins09/05/2022 17:38
Compartilhe

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.

Espero ter ajudado e até a próxima! 👋😁

Compartilhe
Comentários (1)
Felipe Soares
Felipe Soares - 05/08/2022 09:50

Arthur, muito obrigado! Não estava conseguindo rodar aqui por causa desse erro, me salvou.