Background
swagger2辅助后台开发非常方便。但正常使用时,我们的接口需要登陆后才能访问的。即访问接口时,要传一个登陆后的token。那这个怎么设置,才可以让所有接口都允许登陆后访问呢。通常有两个方法,加在接口上,访问每个接口都需要传token验证,我为了方便,采用的是另一种方法,配置一个全局的token,验证后就可以访问所有接口,如下图所示

具体配置如下
- SwaggerConfig
package com.cloudansys.config;
import org.springframework.beans.factory.annotation.Value;
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.ApiKey;
import springfox.documentation.service.AuthorizationScope;
import springfox.documentation.service.SecurityReference;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spi.service.contexts.SecurityContext;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;
import java.util.List;
import static com.google.common.collect.Lists.newArrayList;
/**
* Swagger配置
*
*/
@Configuration
@EnableSwagger2
public class SwaggerConfig {
@Value("${project.version:}")
private String version;
@Bean
public Docket systemAPI() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.title("系统管理")
.description("包括用户管理、仿真参数和告警阈值设置")
.version(version)
.build())
.groupName("系统管理")
.enable(true)
.select()
// 设置需要被扫描的类,这里设置为添加了@Api注解的类
.apis(RequestHandlerSelectors.basePackage("com.cloudansys.api.system"))
.paths(PathSelectors.any())
.build()
.securitySchemes(securitySchemes())
.securityContexts(securityContexts());
}
@Bean
public Docket routineAPI() {
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(new ApiInfoBuilder()
.title("日常管理")
.description("包括告警和设备管理")
.version(version)
.build())
.groupName("日常管理")
.enable(true)
.select()
.apis(RequestHandlerSelectors.basePackage("com.cloudansys.api.routine"))
.paths(PathSelectors.any())
.build()
.securitySchemes(

本文介绍如何在Swagger2中配置全局Token,实现接口的安全访问。通过配置SwaggerConfig类,可以为所有API接口添加统一的Token验证,确保只有授权用户能够访问。
最低0.47元/天 解锁文章
4287

被折叠的 条评论
为什么被折叠?



