Método de uso básico del documento de interfaz Swagger2

arrogancia2

1. Introducción

El documento de interfaz de Swagger es una herramienta de uso común para la separación de front-end y back-end. Desde el documento de interfaz, puede enviar directamente una solicitud para probar la interfaz, lo que tiene las siguientes ventajas:

1. La documentación de API y la definición de API se actualizan sincrónicamente

2. Ejecute directamente, puede probar la interfaz API en línea

3. Admite varios idiomas

Sitio web oficial: https://swagger.io/

Dos, configuración Swagger2

2.1 Dependencias que deben introducirse

</dependency>
<!--swagger2 依赖-->
<dependency>
  <groupId>io.springfox</groupId>
  <artifactId>springfox-swagger2</artifactId>
  <version>2.7.0</version>
</dependency>
<!-- swagger2 ui依赖 -->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.7.0</version>
</dependency>

Por supuesto, también se pueden introducir interfaces de interfaz de usuario de terceros escritas por otros autores.

<!--Swagger第三方UI依赖-->
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>swagger-bootstrap-ui</artifactId>
  <version>1.9.6</version>
</dependency>

2.2 Anotaciones de clase de configuración

@Configuration
@EnableSwagger2
public class Swagger2Config {
    
    
  
}

2.3 Configurar instancia de Docket

@Bean
public Docket  createRestApi(){
    
    
    return new Docket(DocumentationType.SWAGGER_2);
}

2.4 Configurar swagger apiInfo

private ApiInfo apiInfo(){
    
    
    return new ApiInfoBuilder()
            .title("云E办接口文档")
      			.description("接口文档")
            .contact(new Contact("sdh",
                                 "https://xxxxxxx.github.io/",
                                 "[email protected]"))
            .version("1.0")
            .build();
}

donde title es el nombre del documento

descripción es la descripción del documento

contacto es información del autor

la versión es la versión

2.5 Interfaz de escaneo de configuración de Swagger

@Bean
public Docket  createRestApi(){
    
    
    return new Docket(DocumentationType.SWAGGER_2)
            .apiInfo(apiInfo())
            .select()
          	.apis(RequestHandlerSelectors.
         		 			basePackage("com.xxx.server.controller"))
            .paths(PathSelectors.any())
            .build();
}

Entre ellos, apiInfo() se pasa en el apiInfo que acabamos de escribir, y luego .select comienza a configurar la interfaz de escaneo. Aquí, se adopta el modo constructor. Después de .selcet, solo hay tres opciones: .apis, .paths, y .construir.

(1) .apis

.apis(RequestHandlerSelectors.basePackage())

basePackage() significa basado en el escaneo de paquetes, como el siguiente ejemplo

.apis(RequestHandlerSelectors.basePackage("com.sundaohan.server.controller"))

any() significa buscar todo

.apis(RequestHandlerSelectors.any())

none() significa no escanear

.apis(RequestHandlerSelectors.none())

withClassAnnatation() indica escaneo por anotación en la clase, y necesita pasar un objeto de reflexión de anotación

.apis(RequestHandlerSelectors.withMethodAnnotation())

Por ejemplo, si desea escanear clases modificadas por anotaciones RestController

.apis(RequestHandlerSelectors.withMethodAnnotation(RestController.class))

withMethodAnnotation() significa escanear de acuerdo con la anotación en el método, debe pasar un objeto de reflexión de la anotación

.apis(RequestHandlerSelectors.withMethodAnnotation())

Por ejemplo, si desea escanear el método modificado por GetMapping

.apis(RequestHandlerSelectors.withMethodAnnotation(GetMapping.class))

(2) .caminos

.paths() se usa para filtrar rutas, indicando qué ruta escanear en busca de contenido

.any() significa escanear el contenido de todas las rutas

.paths(PathSelectors.any())

.none() significa no escanear en absoluto

.paths(PathSelectors.none())

.ant() significa escanear la interfaz con la ruta especificada, como

.paths(PathSelectors.ant("/api/**"))

Indica que solo se escanean las interfaces cuyas solicitudes comienzan con /api, y otras no se escanearán.

(3).activar()

Para controlar si swagger está habilitado, se debe pasar un valor booleano como parámetro y el valor predeterminado es verdadero, lo que significa que está habilitado.

Si desea cerrar, simplemente pase falso

.enable(false)

Una vez completada la configuración, visite localhost:número de puerto/doc.html para ver la interfaz del documento de la interfaz

Supongo que te gusta

Origin blog.csdn.net/weixin_42195126/article/details/120589215
Recomendado
Clasificación