Los documentos de interfaz desempeñan un papel indispensable en nuestro trabajo de desarrollo diario. Especialmente para proyectos con front-end y back-end separados, los documentos de interfaz deben usarse para la comunicación. Swagger 2 es de código abierto y de uso gratuito. Es una buena manera de reducir nuestra carga de trabajo. De herramientas
1. Introducir la dependencia Swagger2
<!-- swagger2 -->
<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>
2. Archivo de configuración Swagger2 SwaggerConfig.java
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Bean
public Docket createRestApi() {
return new Docket(DocumentationType.SWAGGER_2)
.pathMapping("/")
.select()
// 扫描路径
.apis(RequestHandlerSelectors.basePackage("com.meet.controller"))
.paths(PathSelectors.any())
.build().apiInfo(new ApiInfoBuilder()
// 标题
.title("Swagger项目管理")
// 描述
.description("Swagger项目管理接口测试文档")
// 版本号
.version("1.0.0")
// 联系人信息
.contact(new Contact("lizhou","http://127.0.0.1:8080/swagger-ui.html","[email protected]"))
// 使用协议
.license("The Apache License")
.licenseUrl("https://swagger.io/")
.build());
}
}
Primero usamos la anotación @Configuration para indicar que esta es una clase de configuración,
luego usamos la anotación @ EnableSwagger2 para abrir Swagger2
y luego configuramos un Docket Bean . En este Bean, configure la ruta del paquete de escaneo, que es la ruta de la clase Controller . La información del sitio web de configuración principal en
ApiInfo , Como título, descripción, contacto, acuerdo de uso y otra información
3. Comienza
Para comenzar el proyecto, visite:
http://localhost:8080/swagger-ui.html
Aquí puede ver todas las interfaces API escaneadas
4. Ampliar el conocimiento
@Api () se usa para una clase, lo que indica que esta clase es un recurso de swagger
@ApiOperation () se usa para un método, indicando una operación de una solicitud http
@ApiParam () se usa para un método, parámetro, descripción de campo, indicando la adición de metadatos al parámetro (Descripción o requerido, etc.)
@ApiModel () se usa para clases, lo que significa explicar la clase, para los parámetros que debe recibir la clase de entidad
@ApiModelProperty () para métodos, campos, lo que significa que la descripción del atributo del modelo o la operación de datos cambia
@ ApiIgnore () se usa para clases, métodos, parámetros de métodos, lo que indica que este método o clase se ignora
@ApiImplicitParam () se usa para métodos, lo que indica que un parámetro de solicitud separado
@ApiImplicitParams () se usa para métodos, contiene múltiples @ApiImplicitParam
Por ejemplo:
1. Anotación @Api ()
@Controller
@Api(tags = "添加好友相关接口")
@RequestMapping("addFriend")
public class AddFriendController {
...
}
2. @ApiOperation () Nota
Si encuentra alguna deficiencia en la lectura, ¡deje un mensaje! ! !