Article image
Axel Novais
Axel Novais03/03/2023 09:23
Compartilhe

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


  1. 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

Compartilhe
Comentários (2)
Denilson Palma
Denilson Palma - 04/03/2023 23:51

Interessante. Assunto que ainda não vi, mas desde já gostei. Obrigado pelo artigo. Parabéns!

Tennison Capra
Tennison Capra - 03/03/2023 09:52

Valeu, Axel!

Obs: muito bem lembrado o caso do eventual erro de NPE.