Knife4j 2.0.4 版本发布,支持自定义 Host
Knife4j
前身是swagger-bootstrap-ui
,是一个为Swagger接口文档赋能的工具
效果(旧版):http://swagger-bootstrap-ui.xiaominfo.com/doc.html
效果(2.X版):http://knife4j.xiaominfo.com/doc.html
Gitee:https://gitee.com/xiaoym/knife4j
GitHub:https://github.com/xiaoymin/swagger-bootstrap-ui
示例:https://gitee.com/xiaoym/swagger-bootstrap-ui-demo
特性 & 优化
1、支持UiConfiguration中方法调试的配置,如并未配置任何支持的方法,在ui界面中不会出现调试栏Tab,代码如下:
@Bean public UiConfiguration uiConfiguration(){ return UiConfigurationBuilder.builder() .supportedSubmitMethods(new String[]{}) .build(); }
界面中的显示效果如下(仅显示文档):
2、在当前文档页添加复制接口
功能,便于开发人员快速复制接口地址github #238
3、修复Authorize修改或注销的问题gitee #I1IJK3
4、个性化配置新增Host属性的配置,如果当前对外提供的接口文档和接口本身Host属性存在冲突,可以自动配置此属性进行接口的联调,Host属性可以配置为ip:port
的形式,这样默认是HTTP进行访问,开发者也可以配置完整的域名或者HTTPS
等配置
其工作原理是在调用axios组件进行接口调试时,配置其baseURL
属性
var baseUrl='';//默认是空 //是否启用Host if(this.enableHost){ baseUrl=this.enableHostText; } var requestConfig={ baseURL:baseUrl,//调用目标Host服务的接口 url: url, method: methodType, headers: headers, params: formParams, data: data, //Cookie标志 withCredentials:this.debugSendHasCookie(headers), timeout: 0 }
开发者要使用此Host的配置后端必须开启跨域的配置,如果是Spring Boot
,示例代码如下:
@Bean public CorsFilter corsFilter(){ UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration=new CorsConfiguration(); corsConfiguration.setAllowCredentials(true); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.setMaxAge(10000L); source.registerCorsConfiguration("/**",corsConfiguration); CorsFilter corsFilter=new CorsFilter(source); return corsFilter; }
5、调试接口时,接口在无返回数据或者异常的情况下弹框错误信息,提示开发者
6、图片预览接口无法在响应内容中在线预览图片的问题gitee #I1KP0Q
7、修复针对Map
字段时,Value指引是本类时出现递归死循环的问题,结构如下:
"SensorTable": { "type": "object", "properties": { "attrib": { "type": "integer", "format": "int32" }, "sensorMap": { "type": "object", "additionalProperties": { "originalRef": "SensorTable", "$ref": "#/definitions/SensorTable" } } //more... }, "title": "SensorTable" },
8、修复离线文档功能导出Markdown
时,响应参数格式异常的问题gitee #I1LMYO
9、修复在使用中间件对接口响应内容进行拦截处理时,响应内容不显示的bug,例如使用sentinel
进行QPS限流,一般在这种情况下是由于接口响应的Content-Type是json,但实际响应内容却是text导致gitee #I1JO73
特点
-
基于Vue+Ant Design构建的文档,更强大、清晰的接口文档说明能力以及接口调试能力
-
左右布局,基于Tabs组件的多文档查阅风格
-
支持在线导出Html、Markdown、Word、PDF等多种格式的离线文档
-
接口排序,支持分组及接口的排序功能
-
支持接口全局在线搜索功能
-
提供Swagger资源保护策略,保护文档安全
-
接口调试支持无限参数,开发者调试非常灵活,动态增加、删除参数
-
全局缓存调试信息,页面刷新后依然存在,方便开发者调试
-
以更人性化的table树组件展示Swagger Models功能
-
文档以多tab方式可显示多个接口文档
-
请求参数栏请求类型、是否必填着颜色区分
-
主页中粗略统计接口不同类型数量
-
支持自定义全局参数功能,主页包括header及query两种类型
-
JSR-303 annotations 注解的支持
-
更多个性化设置功能
界面
接口文档显示界面如下:
接口调试界面如下:
Swagger Models功能
支持导出离线Markdown、Html功能,markdown的表格较原先版本通过缩减显示为树形结构,点击预览导出离线Html效果,效果图如下:
通过第三方Markdown软件导出的PDF效果如下图:
同时提供了导出离线Html功能,Html功能界面风格和在线几乎没有区别,美观、大方、简洁,点击在线预览效果,
界面效果如下图:
Star & Issue
感谢各位朋友的支持,前往https://gitee.com/xiaoym/knife4j点个Star吧~~ :)
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Angular 10 版本现已发布
版本10.0.0在这里!这是涵盖整个平台的主要发行版,包括框架,Angular Material和CLI。此发行版小于典型发行版。自从我们发布Angular 9.0版本以来只有四个月。 蝴蝶海滩照片,Minko Gechev摄 我们尝试每年发布两个主要版本,以使Angular与其他JavaScript生态系统保持同步并制定可预测的时间表。我们计划在今年秋天发布版本11。 此版本中有什么? 新日期范围选择器 Angular Material现在包括一个新的日期范围选择器。 新的日期范围选择器的图像 要使用新的日期范围选择器,可以使用mat-date-range-input和mat-date-range-picker组件。 请参阅StackBlitz上的示例。 了解有关日期范围选择的更多信息。 有关CommonJS导入的警告 当您使用CommonJS打包的依赖项时,它会导致应用程序变慢。 从版本10开始,当您的构建引入这些捆绑软件之一时,我们现在向您发出警告。如果您开始对依赖项看到这些警告,请让您的依赖项知道您更喜欢ECMAScript模块(ESM)捆绑包。 CommonJS或AMD依赖项...
- 下一篇
极致性能 sqltoy-orm-4.12.14 发版
开源地址: github:https://github.com/chenrenfei/sagacity-sqltoy gitee:https://gitee.com/sagacity/sagacity-sqltoy idea 插件(可直接在idea中检索安装): https://github.com/threefish/sqltoy-idea-plugins 更新内容 1、增强sqltoy提供的工具类的兼容性,兼容外部调用时的各种场景情况 快速了解 sqltoy-orm: sqltoy是全新一代的ORM框架,兼顾jpa对象式操作的优势,同时极大增强了查询功能,辅以科学的sql编写模式、巧妙的缓存翻译集成、极致的分页优化以及针对大规模数据下的分库分表、超复杂场景下的mongodb、elastic、clickhouse组合应用! sqltoy给你带来了多种主键策略,除常规的UUID、sequence、identity外,还包含雪花算法和基于redis产生有规则的业务主键等。 sqltoy还提供了针对统计分析的:数据旋转、无限级分组计算、同比环比等来减少开发者写复杂sql。 sqltoy在很...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7设置SWAP分区,小内存服务器的救世主
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS8编译安装MySQL8.0.19