Swagger2 配置


1. 每個請求都需要換取key:

@Bean
	public Docket createRestApi() {
		//添加head參數start
    	ParameterBuilder appId = new ParameterBuilder();
    	ParameterBuilder tokenCode = new ParameterBuilder();
    	List<Parameter> pars = new ArrayList<Parameter>();
    	appId.name("AppId").description("客戶端編號").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
    	tokenCode.name("AppToken").description("Token令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
    	pars.add(appId.build());
    	pars.add(tokenCode.build());
		return new Docket(DocumentationType.SWAGGER_2)
			.select()
			.apis(RequestHandlerSelectors.basePackage("com.inuo.project.tool.swagger"))
			.paths(PathSelectors.any()).build()
			.globalOperationParameters(pars)
			// 詳細定制
			.apiInfo(apiInfo());
	}

	/**
	 * 添加摘要信息
	 */
	private ApiInfo apiInfo() {
		// 用ApiInfoBuilder進行定制
		return new ApiInfoBuilder().title("標題:XX管理系統_接口文檔").description("描述:用於管理集團旗下公司的人員信息,具體包括XXX,XXX模塊...")
			.contact(new Contact(inuoConfig.getName(), null, null)).version("版本號:" + inuoConfig.getVersion())
			.build();
	}

  

2. 全局Key

@Bean
    public Docket api() {
        return new Docket(DocumentationType.SWAGGER_2).
                useDefaultResponseMessages(false)
                .select()
                .apis(RequestHandlerSelectors.any())
                .paths(PathSelectors.regex("^(?!auth).*$"))
                .build()
                .securitySchemes(securitySchemes())
                .securityContexts(securityContexts())
                ;
    }
    private List<ApiKey> securitySchemes() {
    	List<ApiKey> list = new ArrayList<ApiKey>();
    	ApiKey ak = new ApiKey("Authorization", "Authorization", "header");
    	list.add(ak);
        return list;
    }
    private List<SecurityContext> securityContexts() {
    	List<SecurityContext> list = new ArrayList<SecurityContext>();
    	SecurityContext sc = SecurityContext.builder().securityReferences(defaultAuth()).forPaths(PathSelectors.regex("^(?!auth).*$")).build();
        list.add(sc);
    	return list;
    }
    
    List<SecurityReference> defaultAuth() {
        AuthorizationScope authorizationScope = new AuthorizationScope("global", "accessEverything");
        AuthorizationScope[] authorizationScopes = new AuthorizationScope[1];
        authorizationScopes[0] = authorizationScope;
        List<SecurityReference> list = new ArrayList<SecurityReference>();
        SecurityReference sr =  new SecurityReference("Authorization", authorizationScopes);
        list.add(sr);
        return list;
    }

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM