【轉】Swagger2 添加HTTP head參數
阿新 • • 發佈:2018-01-19
nts parameter pat hand ext 一起 lai block size
大家使用swagger往往會和JWT一起使用,而一般使用jwt會將token放在head裏,這樣我們在使用swagger測試的時候並不方便,因為跨域問題它默認不能自定義head參數。然後自己去網上找,發現國內大多數的都是寫一個Filter接口,然後添加到配置。這樣極大的破壞了程序的完整性。想想這相當於維護兩套代碼。我們只是需要一個簡單的小功能,國外大多是修改Swagger的index頁面:
[html] view plain copy
- window.swaggerUi = new SwaggerUi({
- discoveryUrl: "http://pathtomyservice.com/resources",
- headers: { "testheader" : "123" },
- apiKey: "123",
- apiKeyName: "Api-Key",
- dom_id:"swagger-ui-container",
- supportHeaderParams: true,
- supportedSubmitMethods: [‘get‘, ‘post‘, ‘put‘, ‘delete‘],
- onComplete: function(swaggerApi, swaggerUi){
- if(console) {
- console.log("Loaded SwaggerUI");
- console.log(swaggerApi);
- console.log(swaggerUi);
- }
- $(‘pre code‘).each(function(i, e) {hljs.highlightBlock(e)});
- },
- onFailure: function(data) {
- if(console) {
- console.log("Unable to Load SwaggerUI");
- console.log(data);
- }
- },
- docExpansion: "none"
- });
supportHeaderParams默認為false,而我用的是swagger2,不需要配置靜態的那些東西,所以我在SwaggerConfig添加了幾行代碼:
[java] view plain copy
- @EnableSwagger2
- @EnableWebMvc
- @ComponentScan("com.g.web")
- public class SwaggerConfig {
- @Bean
- public Docket api(){
- ParameterBuilder tokenPar = new ParameterBuilder();
- List<Parameter> pars = new ArrayList<Parameter>();
- tokenPar.name("x-access-token").description("令牌").modelRef(new ModelRef("string")).parameterType("header").required(false).build();
- pars.add(tokenPar.build());
- return new Docket(DocumentationType.SWAGGER_2)
- .select()
- .apis(RequestHandlerSelectors.any())
- .paths(PathSelectors.regex("/api/.*"))
- .build()
- .globalOperationParameters(pars)
- .apiInfo(apiInfo());
- }
- private ApiInfo apiInfo() {
- return new ApiInfoBuilder()
- .title("後臺接口文檔與測試")
- .description("這是一個給app端人員調用server端接口的測試文檔與平臺")
- .version("1.0.0")
- .termsOfServiceUrl("http://terms-of-services.url")
- //.license("LICENSE")
- //.licenseUrl("http://url-to-license.com")
- .build();
- }
- }
前四行代碼是添加head參數的,前臺效果是這樣的:
原文:http://blog.csdn.net/u014044812/article/details/71473226
【轉】Swagger2 添加HTTP head參數