Springfox é uma ferramenta open source com uma UI (interface de usuário) amigável, desenvolvida para integrar Spring Boot com as especificações do Swagger e apresentar a documentação de uma API Rest.
Link do projeto: Springfox
Antes de prosseguirmos fica uma observação.
Acima da versão 2.4.X do Spring Boot é necessário adicionar a anotação @EnableWebMvc na classe de configuração Springfox ou na classe mainApp, abaixo possui um exemplo.
Iniciaremos com a criação de um projeto no Spring Initialize, adicione a dependência Spring Web.
Após importar o projeto na sua IDE, adicione a dependência do Springfox ao pom.xml:
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
Crie uma classe para configuração de apresentação da UI do Swagger, está classe definirá como o que deve ser exibido na UI, além disso possui o @EnableWebMvc mencionado acima.
@EnableWebMvc
@Configuration
public class SwaggerConfig {
@Bean
public Docket swagger() {
return new Docket(DocumentationType.SWAGGER_2).select()
.apis(RequestHandlerSelectors.withClassAnnotation(RestController.class))
.paths(PathSelectors.any())
.build();
}
}
Crie um controller com os verbos HTTP de exemplo.
@RestController
@RequestMapping("/exemplo")
public class ExemploController {
@GetMapping
public String getExemplo() {
return "Retorno exemplo";
}
@PostMapping
public void postExemplo() {
}
@PutMapping
public void putExemplo() {
}
@DeleteMapping
public void deleteExemplo() {
}
}
Start a aplicação, e acesse http://localhost:8080/swagger-ui/index.html
Apresentei aqui uma configuração básica do Springfox, integrado ao Spring Boot para a apresentação de uma UI amigável dos endpoints de uma API Rest.
Top comments (0)