Criando nosso primeiro serviço REST com SpringBoot – Parte 4 – Marcel Ferry
In Java Tutoriais
Essa é a quarta parte deste tutorial, caso não esteja acompanhando, pode acessar as outras partes em:
Swagger com SpringFox
Para isso, o Swagger especifica a OpenAPI, uma linguagem para descrição de contratos de APIs REST. A OpenAPI define um formato JSON com campos padronizados (através de um JSON Schema) para que você descreva recursos, modelo de dados, URIs, Content-Types, métodos HTTP aceitos e códigos de resposta.
Como nosso objetivo nesse tutorial é ação, vamos deixar as explicações para outro artigo.
O Spring Fox é o framework construido no topo da API Swagger e integra-se ao framework do Spring. Spring Fox fornecerá as anotações que para integração com o framework do Swagger.
<!-- Adicionar documentação automatizada de Swagger --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.6.1</version> </dependency> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger-ui</artifactId> <version>2.6.1</version> </dependency> <!-- Compatibilidade com spring data rest --> <dependency> <groupId>io.springfox</groupId> <artifactId>springfox-data-rest</artifactId> <version>2.6.1</version> </dependency>
<!-- Compatibilidade com spring data rest -->
Observe que para o projeto construído na parte 2 deste tutorial, apenas as duas primeiras dependências são necessárias. A terceira dependência será necessária para que o Swagger "exergue" os endpoints automáticos gerados pelos Spring Data Rest.
Para habilitarmos em nosso projeto a documentação dos endpoints do SpringDataRest, vamos adicionar o seguinte @Import em nossa classe SwaggerConfig.
@Import({springfox.documentation.spring.data.rest.configuration.SpringDataRestConfiguration.class}) public class SwaggerConfig {
http://localhost:8083/v2/api-docs
Se expandirmos o o link do Book Entity, teremos acesso aos endpoints existentes de Livros.
Podemos acessar agora o método get e veremos o detalhamento do método:
Se clicarmos no botão "Try it out", você poderá executar o método e ver o seu resultado.
Agora vamos colocar algumas informações para auxiliar na documentação da nossa api. Faça as seguintes alterações no seu arquivo SwaggerConfig.java.
.build() .apiInfo(apiInfo()); } private ApiInfo apiInfo() { ApiInfo apiInfo = new ApiInfoBuilder() .title ("API de Livros") .description ("Essa é a API de Livros criada para o treinamento.") .license("License of API") .licenseUrl("API license URL") .termsOfServiceUrl("Terms of service") .version("1.0.0") .contact(new Contact("Marcel Ferry","www.marcelferry.com.br", "marcelferry@marcelferry.com.br")) .build(); return apiInfo; }