Swagger2 添加HTTP head参数,解决用户是token信息保留
转:http://blog.csdn.net/u014044812/article/details/71473226
大家使用swagger往往会和JWT一起使用,而一般使用jwt会将token放在head里,这样我们在使用swagger测试的时候并不方便,因为跨域问题它默认不能自定义head参数。然后自己去网上找,发现国内大多数的都是写一个Filter接口,然后添加到配置。这样极大的破坏了程序的完整性。想想这相当于维护两套代码。我们只是需要一个简单的小功能,国外大多是修改Swagger的index页面:
- 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添加了几行代码:
- @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参数的,前台效果是这样的:
Swagger2 添加HTTP head参数,解决用户是token信息保留的更多相关文章
- 单例解决存储微信Token信息保留两小时
采用单例模式可以存储初始化数据,比如第一次对/api/test接口进行了访问,传入的信息为“123”,则在两个小时之内返回的信息依然是“123”,无论传入的参数是什么,如果有效时间过了两个小时,比如传 ...
- 【转】Swagger2 添加HTTP head参数
大家使用swagger往往会和JWT一起使用,而一般使用jwt会将token放在head里,这样我们在使用swagger测试的时候并不方便,因为跨域问题它默认不能自定义head参数.然后自己去网上找, ...
- Swagger2 添加HTTP head参数
大家使用swagger往往会和JWT一起使用,而一般使用jwt会将token放在head里,这样我们在使用swagger测试的时候并不方便,因为跨域问题它默认不能自定义head参数.然后自己去网上找, ...
- Senparc.Weixin.MP SDK 微信公众平台开发教程(七):解决用户上下文(Session)问题
从这篇文章中我们已经了解了微信公众平台消息传递的方式,这种方式有一个先天的缺陷:不同用户的请求都来自同一个微信服务器,这使得常规的Session无法使用(始终面对同一个请求对象,况且还有对方服务器Co ...
- linux上搭建ftp、vsftp, 解决访问ftp超时连接, 解决用户指定访问其根目录,解决ftp主动连接、被动连接的问题
linux上搭建ftp 重要 解决如何搭建ftp 解决用户指定访问其根目录 解决访问ftp超时连接 解决ftp主动连接.被动连接的问题 1.安装ftp ...
- 正确优雅地解决用户退出——JSP及Struts解决方案
摘要 在一个有密码保护的Web应用中,正确处理用户退出过程并不仅仅只需调用HttpSession的invalidate()方法.现在大部分浏览器上都有后退和前进按钮,允许用户后退或前进到一 ...
- 解决用户绕过Servlet直接访问jsp页面
解决用户绕过ActionServlet,直接访问jsp文件的问题 1.将所有jsp文件拷贝到WEB-INF目录下 因为WEB-INF目录中的内容不能直接访问,但能转发过来 项目结构图如下: 2.修改s ...
- Spring Cloud Gateway 动态修改请求参数解决 # URL 编码错误传参问题
Spring Cloud Gateway 动态修改请求参数解决 # URL 编码错误传参问题 继实现动态修改请求 Body 以及重试带 Body 的请求之后,我们又遇到了一个小问题.最近很多接口,收到 ...
- LINUX curl GET 掉参数解决办法
LINUX curl GET 掉参数解决方法 url 为 http://mywebsite.com/index.php?a=1&b=2&c=3web形式下访问url地址,使用 $_GE ...
随机推荐
- Liunx expect 基础
a script for study except #!/usr/bin/expect 声明文件内的语法使用 expect 的语法来执行. send send: 向进程发送字符串,用于模拟用户的输入. ...
- 从零开始的Python学习Episode 12——迭代器&生成器
生成器 列表生成式 用于快速地生成一个列表 a = [x*x for x in range(1,9)] print(a) #输出[1, 4, 9, 16, 25, 36, 49, 64] 也可以用于生 ...
- 239. [LeetCode ]Sliding Window Maximum
Given an array nums, there is a sliding window of size k which is moving from the very left of the a ...
- 工作在Amazon:为何晋升如此难?
英文原文:Why It's So Difficult to Climb Amazon's Corporate Ladder 本文作者 Brad Stone 的新书 The Everything Sto ...
- 欢迎来怼---作业要求 20171015 beta冲刺贡献分分配规则
一.小组信息 队名:欢迎来怼 小组成员 队长:田继平 成员:李圆圆,葛美义,王伟东,姜珊,邵朔,阚博文 基础分 每人占个人总分的百分之40% leangoo里面的得分 每人占个人总分里 ...
- 团队项目成员与题目(本地地铁查询app)
团队名称:Daydreaming团队成员及其特点:张运涛:能快速与团队成员中的每一位进行合作,能全面考虑遇到的问题,善于总结积累.能较好的理解老师与其他人员的想法要求.刘瑞欣:做事果断,善于领导,有想 ...
- Right-BICEP单元测试
一.测试方法:Right-BICEP Right-结果是否正确? B-是否所有的边界条件都是正确的? I-能查一下反向关联吗? C-能用其他手段交叉检查一下结果吗? E-你是否可以强制错误条件发生? ...
- lintcode-473-单词的添加与查找
473-单词的添加与查找 设计一个包含下面两个操作的数据结构:addWord(word), search(word) addWord(word)会在数据结构中添加一个单词.而search(word)则 ...
- Redis 请求应答模式和往返延时 Pipelining
Redis是一个CS结构的TCP服务器,使用”请求-应答”的模式.,客户端发起一个请求是这样的步骤: 客户端发送一个请求给服务器,然后等待服务器的响应,一般客户端使用阻塞模式来等待服务器响应. 服务器 ...
- mysql项目路径URL编码
jdbc_url=jdbc:mysql://127.0.0.1:3306/test?serverTimezone=UTC&useUnicode=true&characterEncodi ...