Springboot add request header (authentification par jeton swagger)
Application: ajoutez un jeton global pour éviter d'avoir à transporter une interface d'accès au jeton à chaque fois
*********************************
Des exemples
*********************
couche de configuration
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;
}
}
*************************
Utiliser le test
http: // localhost: 8080 / swagger-ui.html
Remarque: Lorsque vous utilisez l'authentification oauth2, entrez la valeur du jeton du porteur dans la valeur pour tester l'interface