写点什么

Swagger-knife4j 介绍

作者:默默的成长
  • 2022-11-02
    山东
  • 本文字数:860 字

    阅读完需:约 3 分钟

Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-uiui皮肤项目


一开始项目初衷是为了写一个增强版本的 swagger 的前端 ui,但是随着项目的发展,面对越来越多的个性化需求,不得不编写后端 Java 代码以满足新的需求,在swagger-bootstrap-ui的 1.8.5~1.9.6 版本之间,采用的是后端 Java 代码和 Ui 都混合在一个 Jar 包里面的方式提供给开发者使用.这种方式虽说对于集成 swagger 来说很方便,只需要引入 jar 包即可,但是在微服务架构下显得有些臃肿。


因此,项目正式更名为 knife4j,取名 knife4j 是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为 Swagger 接口文档服务的通用性解决方案,不仅仅只是专注于前端 Ui 前端.


swagger-bootstrap-ui的所有特性都会集中在knife4j-spring-ui包中,并且后续也会满足开发者更多的个性化需求.


主要的变化是,项目的相关类包路径更换为com.github.xiaoymin.knife4j前缀,开发者使用增强注解时需要替换包路径


后端 Java 代码和 ui 包分离为多个模块的 jar 包,以面对在目前微服务架构下,更加方便的使用增强文档注解(使用 SpringCloud 微服务项目,只需要在网关层集成 UI 的 jar 包即可,因此分离前后端)


knife4j 沿用swagger-bootstrap-ui的版本号,第 1 个版本从 1.9.6 开始。


目前主要支持以 Java 开发为主,并且是依赖于大环境下使用的Spring MVCSpring BootSpring Cloud框架.


当然,Knife4j也提供了离线版本,只要是符合 Swagger 的 OpenAPI 版本的规范 JSON,都可以通过简单的配置进行适配,离线版本是适合于任何语言中使用 Swagger 的,非常的灵活、方便。


Knife4j 采用 Vue+And Design Vue 组件重写,相关功能界面如下,供大家赏鉴:


接口文档显示界面如下:


接口调试界面如下:


Swagger Models 功能


支持导出离线 Markdown、Html 功能,markdown 的表格较原先版本通过缩减显示为树形结构,点击预览导出离线Html效果 (opens new window),效果图如下:


通过第三方 Markdown 软件导出的 PDF 效果如下图:


同时提供了导出离线 Html 功能,Html 功能界面风格和在线几乎没有区别,美观、大方、简洁,点击在线预览效果 (opens new window)


界面效果如下图:

发布于: 刚刚阅读数: 4
用户头像

还未添加个人签名 2022-10-11 加入

还未添加个人简介

评论

发布
暂无评论
Swagger-knife4j介绍_前端_默默的成长_InfoQ写作社区