Swagger
- #Spring Framework
- #Java
- #API Rest
O Swagger foi criado para facilitar a visualização, consumo e construção de end-points de uma ApiREST.
E não da para falar de swagger sem falar sobre o Open API, que foi sob essas especificações que o criador tony tam desenvolveu o swagger, que aceita os formatos Json e yaml, com o OPEN API você pode ter projetos mais estruturado e organizados, e nem preciso dizer o quanto é importante uma API bem documentada.
Com ele tudo fica mais rápido, documentação, testes, consumo, etc... e ainda consegue utilizar dados mocados ou reais em casos de teste de integração, ou unitários.
COMO UTILIZAR O SWAGGER No BACK-END DA SUA APLICAÇÃO
- Você precisará instalar as dependencias do Swagger2 em seu POM.xml
<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>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
-------------------------------Classe Run----------------------------------------
Em seguida faça a alteração em seu Application.java(classe principal)
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@SpringBootApplication
@EnableSwagger2
public class FinancasApplication {
public static void main(String[] args) {
SpringApplication.run(FinancasApplication.class, args);
}
}
------------------------------------------------------------------------------------
Agora crie uma classe de configuração do Swagger, eu optei por criar dentro do pacote controller
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
@Configuration
public class SwaggerConfig {
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2).
select()
.apis(RequestHandlerSelectors.any())
.paths(PathSelectors.any())
.build();
}
}
-------------------------------------------------------------------------
Faça os Update no maven para o projeto ficar bem atualizado e com isso ja é o suficiente para você poder documentar sua API
Obs. em algumas versoes mais atuais esta dando erro NullPointexception
você deverá fazer a modificação em seu .properties
spring.mvc.pathmatch.matching-strategy=ant-path-matcher
Meu GitHub
https://github.com/FelipeAxel