swagger2 統一實現header權限

直接貼一下自己的代碼吧,是參考的別人的帖子


@Configuration
public class Swagger2 {

  @Bean
  public Docket createRestApi() {
    return new Docket(DocumentationType.SWAGGER_2)
        .apiInfo(apiInfo())
        .select()
        .apis(RequestHandlerSelectors.basePackage("com.yunlizhihui.platform.gis.server.controller"))
        .paths(PathSelectors.any())
        .build().securityContexts(securityContexts())
        .securitySchemes(securitySchemes());
  }

  private ApiInfo apiInfo() {

    Contact contact = new Contact("南山", "", "[email protected]");

    return new ApiInfoBuilder()
        .title("GIS服務接口")
        .description("提供地圖數據的管理服務")
        .version("1.0")
        .contact(contact)
        .build();
  }

  private List<ApiKey> securitySchemes() {

    return Lists.newArrayList(new ApiKey("Authorization", "Authorization", "header"));

  }

  private List<SecurityContext> securityContexts() {

    SecurityContext context = SecurityContext.builder()
        .securityReferences(defaultAuth())
        //.forPaths(PathSelectors.regex("^(?!auth).*$"))
        .build();

    return Lists.newArrayList(context);

  }

  private List<SecurityReference> defaultAuth() {

    AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
    AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
    authorizationScopes[0] = authorizationScope;

    return Lists.newArrayList(new SecurityReference("Authorization", authorizationScopes));

  }

}

原文地址
http://fish119.site/2018/01/04/Swagger2-%E9%9D%9E%E5%85%A8%E5%B1%80Header%E5%8F%82%E6%95%B0%EF%BC%88Token%EF%BC%89%E9%85%8D%E7%BD%AE/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章