应用背景:Swagger配置全局Token的目的在于调用真正接口前会被相关拦截器拦截,拦截器会校验此次访问是否合法,这时配置全局Token的作用就显现出来了,全局Token可以存储所有接口访问时的令牌信息,不用每一个接口中都写一遍。
Spring Boot整合Swagger3的依赖版本为:
<!--引入SpringBoot整合Swagger3的依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-boot-starter</artifactId>
<version>3.0.0</version>
</dependency>
第一种:全局的Auth认证方式(推荐)
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.*;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import java.util.ArrayList;
import java.util.List;
@Configuration
public class Swagger3Config {
private static String SECRET_KEY="secrectKey";
private static String ACCESS_TOKEN="accessToken";
/**
* 功能描述:SecurityScheme配置全局参数
* 1.SecurityScheme的ApiKey中增加一个名为“secrectKey”,type为“header”(请求头)的参数
* 2.SecurityScheme的ApiKey中增加一个名为“accessToken”,type为“query”(请求参数)的参数
*/
private List<SecurityScheme> securitySch