Implementação básica do Swagger em API Spring Boot
- #Java
Adicionando a biblioteca SpringFox no arquivo pom.xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
Adicionando a configuração do Swagger UI
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
Agora crie uma classe chamada SwaggerConfig com as seguintes especificações:
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket api() {
return new Docket(DocumentationType.SWAGGER_2)
.select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
No Spring Boot o Swagger é ativado através da anotação @EnableSwagger2
. O Docket
que estamos definindo no nosso bean nos permite configurar aspectos dos endpoints expostos por ele.
Nos métodos apis()
e paths()
definimos que todas as apis e caminhos estarão disponíveis. Com isso através de reflection a biblioteca já consegue obter os endpoints definidos na aplicação. pegando as informações
Ao executá-la, o Swagger UI estará disponível em /swagger-ui.html
pegando as informações de todos os controllers definidos na aplicação.