Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >终于放弃了单调的 Swagger 了,选择了这款神器 Knife4j

终于放弃了单调的 Swagger 了,选择了这款神器 Knife4j

作者头像
芋道源码
发布于 2020-03-02 08:48:41
发布于 2020-03-02 08:48:41
1.4K00
代码可运行
举报
文章被收录于专栏:芋道源码1024芋道源码1024
运行总次数:0
代码可运行

来源:最美分享Coder

toutiao.com/i6789135368064074253

  • 一、介绍
  • 二、开源仓库
  • 三、功能特性
  • 四、功能预览
  • 五、使用简介
  • 六、总结

一、介绍

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!

二、开源仓库

  • Github
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://github.com/xiaoymin/swagger-bootstrap-ui
  • 码云
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://gitee.com/xiaoym/knife4j

三、功能特性

  • 简洁

基于左右菜单式的布局方式,是更符合国人的操作习惯吧.文档更清晰...

  • 个性化配置

个性化配置项,支持接口地址、接口description属性、UI增强等个性化配置功能...

  • 增强

接口排序、Swagger资源保护、导出Markdown、参数缓存众多强大功能...

四、功能预览

  • 在线预览
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
http://knife4j.xiaominfo.com/doc.html
  • 选择不同接口
  • Authorize
  • swagger实体

包含了swagger实体的相关信息

  • swagger全局设置

全局参数设置

  • 离线文档导出

Knife4j提供导出4种格式的离线文档(Html\Markdown\Word\Pdf)

  • 个性化设置
  • api文档
  • 搜索功能

五、使用简介

  • 项目结构
  • 目前主要的模块
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
目前主要的模块包括:模块名称说明:knife4j为Java MVC框架集成Swagger的增强解决方案knife4j-admin云端Swagger接口文档注册管理中心,集成gateway网关对任意微服务文档进行组合集成knife4j-extensionchrome浏览器的增强swagger接口文档ui,快速渲染swagger资源knife4j-service为swagger服务的一系列接口服务程序knife4j-frontknife4j-spring-ui的纯前端静态版本,用于集成非Java语言使用swagger-bootstrap-uiknife4j的前身,最后发布版本是1.9.6
  • 单纯皮肤增强

不使用增强功能,纯粹换一个swagger的前端皮肤,这种情况是最简单的,你项目结构下无需变更

可以直接引用swagger-bootstrap-ui的最后一个版本1.9.6或者使用knife4j-spring-ui

老版本引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>swagger-bootstrap-ui</artifactId>
  <version>1.9.6</version>
</dependency>

新版本引用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-ui</artifactId>
  <version>${lastVersion}</version>
</dependency>
  • Spring Boot项目单体架构使用增强功能

Spring Boot单体架构下,knife4j提供了starter供开发者快速使用

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-spring-boot-starter</artifactId>
  <version>${knife4j.version}</version>
</dependency>

该包会引用所有的knife4j提供的资源,包括前端Ui的jar包

在Spring Cloud的微服务架构下,每个微服务其实并不需要引入前端的Ui资源,因此在每个微服务的Spring Boot项目下,引入knife4j提供的微服务starter

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
  <groupId>com.github.xiaoymin</groupId>
  <artifactId>knife4j-micro-spring-boot-starter</artifactId>
  <version>${knife4j.version}</version>
</dependency>

在网关聚合文档服务下,可以再把前端的ui资源引入

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
   <groupId>com.github.xiaoymin</groupId>
   <artifactId>knife4j-spring-boot-starter</artifactId>
   <version>${knife4j.version}</version>
</dependency>

六、总结

针对knife4j的总结,无非就是牛逼来形容,切实的解决了swagger ui不够友好的问题,而且还可以集成到其他语言的api项目中,真真切切的需要感谢开发作者提供了这么好的工具供我们使用,小伙伴是不是心动了,赶紧去试试吧!enjoy it!



如果你喜欢这篇文章,喜欢,转发。

生活很美好,明天见(。・ω・。)ノ♡

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 芋道源码 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
终于放弃了单调的swagger-ui了,选择了这款神器...
knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案(在非Java项目中也提供了前端UI的增强解决方案),前身是swagger-bootstrap-ui,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍!
Bug开发工程师
2020/03/02
7800
终于放弃了单调的swagger-ui了,选择了这款神器...
Swagger+knife4j 易于整合SpringBoot的OpenAPI文档生成利器
前端和后端的联调离不开API文档,而手动编写API文档是一项耗时又费力的操作。Swagger正是基于简化API文档的输出的一个优秀的开源框架,通过OpenAPI的规范呈现接口信息,方便的提供测试和联调。这样,如果按照新的开发模式,在开发新版本或者迭代版本的时候,只需要更新Swagger描述文件,就可以自动生成接口文档和客户端服务端代码,做到调用端代码、服务端代码以及接口文档的一致性。
Dream城堡
2022/01/07
1.8K0
Swagger+knife4j 易于整合SpringBoot的OpenAPI文档生成利器
给Swagger换一套皮肤 Knife4j集成记录
Swagger有一套经典的UI,但是并不是很好用,之前有看到Knife4j,界面美观、功能完善,因此尝试集成。
JadePeng
2020/11/03
8730
SpringBoot项目集成knif4j,从此告别手写Api文档
作为一名后台开发人员,在前后端分离项目的开发过程中,我们写好了后台接口之后总免不了要给前端同事提供一份详细的API接口文档,写完一个接口又要补充一个接口的文档,过程还挺繁琐的。那么有没有一款工具让我们不用再些这些繁琐的API文档呢?答案是有的。之前我们在项目中配置swagger结合相关的注解来生成API文档界面,只是界面不是那么美观,还必须在每个接口控制器方法中添加很多的注解,代码侵入性比较强。
用户3587585
2021/09/29
3.7K0
SpringBoot项目集成knif4j,从此告别手写Api文档
Springboot之swagger-bootstrap-ui(knife4j)
最近在网上看到一个比较好的swagger-ui,swagger自带的UI不是很友好。特此记录下整合过程,并梳理下swagger相关的知识
海加尔金鹰
2020/06/09
1.2K0
在微服务项目中引入 knife4j
knife4j 是为 Java MVC 框架集成 Swagger 生成 Api 文档的增强解决方案。说白了,如果项目开发为前后端分离开发的话,这个插件就非常的省事儿,不用再很麻烦的写接口文档了。之前用过 Swagger 来生成文档,但是在某些情况下,Swagger 却并不适合国内的项目,尤其是验收文档。给甲方的验收文档往往包含接口文档,这是 knife4j 的导出就派上用场了。
Bess Croft
2021/11/17
2.5K0
再见丑陋的 SwaggerUI,这款API文档生成神器界面更炫酷,逼格更高!
一般在使用 Spring Boot 开发前后端分离项目的时候,都会用到 Swagger。Swagger 是一个规范和完整的框架,用于生成、描述、调试和可视化 RESTful 风格的 Web API 服务框架。
沉默王二
2022/03/07
1.6K0
再见丑陋的 SwaggerUI,这款API文档生成神器界面更炫酷,逼格更高!
Swagger-knife4j介绍
携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第14天,点击查看活动详情 >>
默默的成长
2022/11/02
4640
Springboot整合knife4j
新项目需要使用到swagger生成一些项目的接口信息,便于前端查看调试,所以这次采用了knife4j来作为项目的接口生成工具,顺便记录下使用笔记。
无敌小菜鸟
2021/12/29
1K0
Springboot整合knife4j
Spring Boot 3 整合Knife4j(OpenAPI3规范)
地址:https://doc.xiaominfo.com/ Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案。
Harry技术
2025/01/13
1.6K0
Spring Boot 3 整合Knife4j(OpenAPI3规范)
Knife4j使用教程
简介:Knife4j是一款基于Swagger的API文档生成和管理工具,它提供了一套美观、易用的界面来展示和管理API接口文档。Knife4j具有以下特点:
GeekLiHua
2025/01/21
2330
Knife4j使用教程
微服务聚合Swagger文档,这波操作是真的香!
对比knife4j和原生Swagger的微服务使用,再次证明knife4j是springfox-swagger的增强UI实现,完全遵循了springfox-swagger中的使用方式。
macrozheng
2020/07/24
4.5K0
微服务聚合Swagger文档,这波操作是真的香!
Spring Boot 3 整合Knife4j(OpenAPI3规范)
地址:https://doc.xiaominfo.com/ Knife4j是一个集Swagger2 和 OpenAPI3 为一体的增强解决方案。
Harry技术
2025/01/13
4540
Spring Boot 3 整合Knife4j(OpenAPI3规范)
SpringBoot 整合Swagger 与整合 Knife4j
controller类 上加:@Api(tags = “XXXController”)
收心
2022/01/14
4470
SpringBoot 整合Swagger 与整合 Knife4j
还在使用Swagger吗,快来试试这款强大的在线API工具
现在分工越来越明确,做项目也都是前后端分离,这样就和前端沟通越来越多,包括现在微服务架构也越来越流行,服务就会进行拆分,各个服务之间有不同的团队开发,这个时候一份简洁完善的在线API接口就很有必要了,可以提提高大家的工作效率,减少一些不必要的沟通。Knife4j就是在线API文档的佼佼者,不仅提供了美观的在线API文档,还有其他的一些特性例如:全局参数、个性化设置、资源安全等,大家跟着小妹一块来看看吧。
永恒君
2022/12/06
3720
还在使用Swagger吗,快来试试这款强大的在线API工具
再见 Swagger UI!国人开源了一款超好用的 API 文档生成框架,Star 4.7K+,真香!!
最近,栈长发现某些国内的开源项目都使用到了 Knife4j 技术,看名字就觉得很锋利啊!
Java技术栈
2021/11/19
1.2K0
再见 Swagger UI!国人开源了一款超好用的 API 文档生成框架,Star 4.7K+,真香!!
Swagger配置流程
Swagger的原生UI展示的内容主观上没有那么清楚和漂亮,对此有两款对应的Swagger UI的出现,分别为SwaggerBootstrapUI和 knife4j
云边小卖部
2022/12/02
9710
Swagger配置流程
SpringBoot集成Knife4j接口管理工具
  官网的配置如下图所示,我多配置了个head参数,目的是为了每次请求的时候在请求头上带上token参数,方便后端JWT的校验。
别团等shy哥发育
2023/03/04
1.6K0
SpringBoot集成Knife4j接口管理工具
秒懂Spring Boot整合Knife4j,让你的Swagger界面秒变高颜值
🏆本文收录于 《Spring Boot从入门到精通》 ,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。
bug菌
2023/09/18
6.8K0
秒懂Spring Boot整合Knife4j,让你的Swagger界面秒变高颜值
【Knife4j】小试牛刀,基于eureka的集成
knife4j是什么?可以关注一下官网,简单说就是对基于swagger的增强版本。【官网】 本文基于以下基础进行集成: springboot 2.7.0(2.6.7+也可,推荐使用GA版本) knif
小尘哥
2022/09/01
5070
【Knife4j】小试牛刀,基于eureka的集成
推荐阅读
相关推荐
终于放弃了单调的swagger-ui了,选择了这款神器...
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验