Swagger
Last updated
Was this helpful?
Last updated
Was this helpful?
O Swagger é uma biblioteca que permite a geração de um arquivo JSON que representa uma API a partir do código fonte. Assim, a descrição dos endpoints pode ser feita a partir de anotações nos controladores e métodos.
Durante o desenvolvimento, o componente Swagger UI proporciona uma interface para a interação com a API, permitindo a efetuação de consultas aos endpoints com muita facilidade.
Para utilizar o Swagger, você deve adicionar duas dependências ao seu projeto. Utilize o arquivo e formato adequado para a sua ferramenta de build:
Localize o arquivo build.gradle
na raiz do seu projeto e adicione duas linhas à seção dependencies
, como mostrado:
Localize o arquivo pom.xml
na raiz do seu projeto e adicione dois blocos à seção <dependencies>
, como mostrado:
Uma configuração será necessária para instruir o Swagger a listar os controladores do seu projeto. Seguindo boas práticas, crie um pacote config
contendo a seguinte classe:
Você modifique o método apiInfo()
para alterar as informações mostradas.
Após executar a sua aplicação, a interface de interação com o Swagger UI deve estar acessível na seguinte URL:
Com a configuração mostrada acima, alguns controladores definidos pelo Spring (basic-error-controller
, operation-handler
) são incluídos. Para mostrar apenas os que você definir, modifique o método apis()
da seguinte maneira, alterando "com.example"
para o qualificador do seu projeto.
Pronto! Está tudo configurado.
Caso algo não deu certo no processo descrito acima, verifique as seções abaixo para identificar a solução para o seu problema.
Se ao tentar acessar a página do Swagger UI, você se deparar com o erro da imagem abaixo, é possível que exista um mapeamento errôneo em algum de seus controladores.
Verifique se há algum método com um mapeamento POST na raiz, como no exemplo abaixo:
A anotação @PostMapping
sem argumentos terá como padrão a raiz.
Ressalva: caso o controlador possua um @RequestMapping
diferente da raiz, o exemplo acima não deve ser um problema.
Exemplo corrigido:
Existem outras ferramentas que podem utilizar os dados gerados pelo Swagger para efetuar requisições e gerar documentação.
No Postman, vá até o menu Import > Paste Raw Text e cole o conteúdo.
Uma coleção será criada, contendo todos os métodos detectados pelo Swagger.
O ambiente de desenvolvimento de APIs suporta a importação do Swagger.
Vá até a URL do seu aplicativo e copie o JSON retornado.