Springboot integra swagger y configura la interfaz de escaneo Swagger

¿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 /
Inserte la descripción de la imagen aquí

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
Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí
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 Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí
** 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
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí es enviar el archivo de configuración requerido en la clase de configuración y poner los parámetros primero.
Inserte la descripción de la imagen aquí
Luego llame al método y coloque el entorno de prueba en él
Inserte la descripción de la imagen aquí
. Coloque el valor booleano obtenido en el swagger abierto, porque solo necesita un tipo booleano.
Inserte la descripción de la imagen aquí
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
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
cómo la bandera en este momento es verdadera, cómo configurar la agrupación y cómo configurar múltiples
Inserte la descripción de la imagen aquí
efectos de
Inserte la descripción de la imagen aquí
agrupación , cómo configurar múltiples grupos,
Inserte la descripción de la imagen aquí

Varias
clases de entidades de anotación de uso común son públicas, ¡cometí un error! ! ! ! ! ! ! ! ! ! 11
Inserte la descripción de la imagen aquí
Inserte la descripción de la imagen aquí
efecto
Inserte la descripción de la imagen aquí
** ApiOperation notas y comentarios ApiParam **

//    ApiOperation 接口,不是放在类上的,是方法上
    @ApiOperation("hello 的第二个控制类")
    @RequestMapping("/hello2")
//    参数的文档注释
    public String hello2(@ApiParam("用户名") String name){
    
    
        return "hello"+name;
    }

efecto
Inserte la descripción de la imagen aquí

Supongo que te gusta

Origin blog.csdn.net/m0_46937429/article/details/111704605
Recomendado
Clasificación