knife4j通过js动态革新全局参数

源代码 2024-9-26 02:19:26 26 0 来自 中国
配景

之前在为框架集成knife4j接口调试检察工具,利用了一段时间,利用体验上比力繁琐,因为接口都须要token,以是每次都要去f12检察token复制再创建全局参数,大概我只须要测试一个接口但是步调少不了,针对此问题框架做了一些优化
计分别析

框架后端针对系统管理员增加一个根据用户直接天生token的接口,将获取到的token通过js方式直接附加到knife4j的全局参数中,如许就只须要点击获取token按钮我们就可以直接举行恣意接口的调试工作,通过f12分析发现,knife4j的全局参数变量是存储在欣赏器数据库IndexedDB中,数据表为keyvaluepairs,对应的数据行key为Knife4jOfficeParameter
1.png 2.png 进一步分析字段名称为SwaggerBootstrapUiInstance68c7b0eebe75b10d20003678a43730cb,存储值就是我们添加的全局参数设置的数组列表,字段名是由SwaggerBootstrapUiInstance+编码定名的,以是我们只要搞定编码的天生就可以本身通过js赋值了
因为knife4j集成的doc.html页面是由vue打包天生的,js做过编译处理处罚,以是源码我们须要具体的vue工程中检察,颠末分析查找SwaggerBootstrapUiInstance关键字
代码路径:knife4j/knife4j-vue/src/core/Knife4jAsync.js
天生规则:天生的编码由name(分组对象)+location(url地点)+version(版本号)天生的字符串md5后的值
上述的name,location,version三个值是通过哀求swagger-resources接口获取的,返回值为一个数组,根据选择的group去匹配
代码实现

分析完毕后就可以举行代码利用了,此中涉及到IndexedDB的利用简单学习一下即可

  • 获取所有资源
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-10-18 16:53, Processed in 0.150642 second(s), 35 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表