O que é arrogância
Swagger é um conjunto de ferramentas baseado na especificação OpenAPI que ajuda você a projetar, construir, documentar e consumir APIs REST .
Vantagens do Swagger:
-
Geração automática de documentos de interface: o Swagger pode digitalizar automaticamente interfaces e anotações de parâmetros e gerar documentos de desenvolvimento de interface. Durante o processo de depuração, ele pode atualizar o documento da interface em tempo real e fornecer uma interface de teste interativa on-line, reduzindo a carga de trabalho de manutenção do documento da interface.
-
Exibição visual de documentos de interface: A interface Swagger UI é intuitiva e bonita, o que pode melhorar a eficiência da colaboração da interface. As solicitações de simulação podem ser feitas diretamente no documento ou até mesmo exportadas como trechos de chamadas de código em várias linguagens, como curl, o que é benéfico para a colaboração e comunicação front-end e back-end.
-
Gerenciamento de versão da interface: O uso do Swagger pode gerenciar de forma mais conveniente a versão da interface da API. A configuração do Swagger suporta a existência simultânea de várias versões de documentos da API.
-
Outras funções relacionadas: Swagger também fornece muitas outras funções úteis, como definição de tipo de dados, mapeamento de rotas, serviço simulado ou validador, etc., tornando-o não apenas uma ferramenta simples de geração de documentos de API, mas uma ferramenta completa de design e desenvolvimento de API.
SpringBoot usa anotações para integrar o Swagger
- Importe o pacote swagger jar no arquivo pom.xml
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
- Adicione @EnableSwagger2Doc à classe de inicialização SpringBoot para habilitar anotações Swagger
- Configure a classe de configuração SwaggerConfig ou configure as informações do Swagger no arquivo yml
package com.yjh.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.controller")) // controller所在的包
.paths(PathSelectors.any())
.build();
}
private ApiInfo apiInfo() {
return new ApiInfoBuilder()
.title("Spring Boot中使用Swagger2构建RESTful APIs")
.description("更多Spring Boot相关文章请关注:http://spring.io/projects/spring-boot")
.termsOfServiceUrl("http://spring.io/projects/spring-boot")
// 优先使用yml文件的配置信息
.contact(new Contact("swagger", "http://spring.io/projects/spring-boot", ""))
.version("1.0")
.build();
}
}
informações de configuração yml
swagger:
enabled: true
title: API文档
description: Website
contact:
name: yjh
url: 联系网址
email: 联系人邮箱
#接口包扫描路径
base-package: com.yjh.controller
#需排除的接口路径
exclude-path: /error/**
-
Adicione @Api à classe da camada do controlador marcada com @contoller ou @RestController, onde tags, que significa tag em chinês, representam o nome desta interface. Se não for escrito, o Swagger usará o nome do caminho. Além das tags, há também um valor opcional, que também descreve o nome da interface. Vaule é uma classificação de primeiro nível, geralmente chamada de nome do módulo ou nome comercial. Tags é uma classificação de segundo nível, usada para dividir ainda mais a API interface sob o mesmo módulo.
-
Inicie o SpringBoot, visite http://localhost:9090/swagger-ui.html (lembre-se de configurar o número da porta), você verá a página inicial do Swagger2, visualizará as informações da API configurada e concluirá a configuração básica do Swagger aqui.