Springboot agregar encabezado de solicitud (autenticación de token swagger)
Aplicación: agregue un token global para evitar la necesidad de llevar una interfaz de acceso a token cada vez
*********************************
Ejemplos
*********************
capa de configuración
Swagger2Config
@Configuration
@EnableSwagger2
public class Swagger2Config {
@Bean
public Docket initDocket(){
return new Docket(DocumentationType.SWAGGER_2)
.apiInfo(initApiInfo())
.securitySchemes(securitySchemes())
.securityContexts(securityContexts())
.select()
.apis(RequestHandlerSelectors.basePackage("com.example.demo.controller"))
.paths(PathSelectors.regex("^(?!auth).*$"))
.build();
}
private ApiInfo initApiInfo(){
return new ApiInfoBuilder()
.title("构建 swagger2")
.description("接口测试")
.termsOfServiceUrl("http://www.baidu.com")
.version("v1.0")
.build();
}
public List<ApiKey> securitySchemes(){
List<ApiKey> apiKeys=new ArrayList<>();
apiKeys.add(new ApiKey("oauth2 认证","Authorization","header"));
return apiKeys;
}
public List<SecurityContext> securityContexts(){
List<SecurityContext> securityContexts=new ArrayList<>();
securityContexts.add(SecurityContext.builder()
.securityReferences(securityReferences())
.forPaths(PathSelectors.any()).build());
return securityContexts;
}
public List<SecurityReference> securityReferences(){
AuthorizationScope[] authorizationScopes=new AuthorizationScope[1];
authorizationScopes[0]=new AuthorizationScope("global","accessEverything");
List<SecurityReference> securityReferences=new ArrayList<>();
securityReferences.add(new SecurityReference("Authorization",authorizationScopes));
return securityReferences;
}
}
*************************
Prueba de uso
http: // localhost: 8080 / swagger-ui.html
Nota: Cuando use la autenticación oauth2, ingrese el valor del token de portador en el valor para probar la interfaz