¿Qué es arrogancia?
Es conocido como el marco de Api más popular del mundo,
herramienta de generación de documentos en línea ReatFul Api =》 Los documentos de Api y las definiciones de Api se actualizan sincrónicamente y se
ejecutan directamente, y las interfaces de Api se pueden probar en línea
Admite múltiples idiomas
sitio web oficial
https: // swagger .io /
Cómo usar Swagger para
importar dependencias en un proyecto
<!--swagger 依赖 -->
<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>
Primero haga clic en un proyecto de arranque de Spring
Programa de saludo simple
package com.jj.demo.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello,swagger!";
}
}
Configura el archivo de configuración de Swagger
Puedes acceder a la página de Swagger simplemente configurándola.
package com.jj.demo.config;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
@Configuration
//加入Swagger 的注解 ,开启
@EnableSwagger2
public class Swaggerconfig {
}
Visite http: // localhost: 8080 / swagger-ui.html
cómo modificarlo a su propio nombre
package com.jj.demo.config;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
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;
import java.util.ArrayList;
@Configuration
//加入Swagger 的注解 ,开启
@EnableSwagger2
public class Swaggerconfig {
// 配置Swagger 的 Docket 的bean 实例
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo());
}
// 配置Swagger 信息
private ApiInfo apiInfo(){
// 作者信息
Contact contact = new Contact("娇娇", "", "[email protected]");
return new ApiInfo(
"娇娇的Api 文档","生而为人,务必善良","1.0","",contact,"","",new ArrayList<>()
);
}
}
Efecto
** Accesorios Swagger Scan **
// 配置Swagger 的 Docket 的bean 实例
@Bean
public Docket docket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(apiInfo())
.select()
// RequestHandlerSelectors 配置要扫描接口的方式
// basePackage :指定要扫描的包
// any() :扫描全部
// none():不扫描
// withClassAnnotation //扫描类上的注解,参数市一个注解的反射对象
// withMethodAnnotation // 扫描方法上的注解
// 。paths()过滤什么路径
.apis(RequestHandlerSelectors.basePackage("com.jj.demo.Controller"))
.build()
;
}
¡Apaga el interruptor y
verás este lindo paquete de emojis! !
La pregunta es, ¿cómo quiero que solo se use mi Swagger en el entorno de producción y no usarlo cuando se lance?
Determine si el entorno de producción flag = false
inject enable (flag) El
primer paso
es enviar el archivo de configuración requerido en la clase de configuración y poner los parámetros primero.
Luego llame al método y coloque el entorno de prueba en él
. Coloque el valor booleano obtenido en el swagger abierto, porque solo necesita un tipo booleano.
Efecto
En este momento, el entorno que abrimos es el archivo de configuración de desarrollo.
spring.profiles.active=dev
Inicie el proyecto y
vea
cómo la bandera en este momento es verdadera, cómo configurar la agrupación y cómo configurar múltiples
efectos de
agrupación , cómo configurar múltiples grupos,
Varias
clases de entidades de anotación de uso común son públicas, ¡cometí un error! ! ! ! ! ! ! ! ! ! 11
efecto
** ApiOperation notas y comentarios ApiParam **
// ApiOperation 接口,不是放在类上的,是方法上
@ApiOperation("hello 的第二个控制类")
@RequestMapping("/hello2")
// 参数的文档注释
public String hello2(@ApiParam("用户名") String name){
return "hello"+name;
}
efecto