作为 NestJS 开发者,你是否觉得原生 Swagger 文档不够直观?接口调试不够顺畅?今天给大家推荐一款宝藏插件 ------nestjs-knife4j-plus,让你的 API 文档瞬间升级,支持 Express 和 Fastify 双适配器,开发效率直接拉满!
✨ 核心亮点
✅ 双框架适配:完美支持 Express 和 Fastify 两种 HTTP 适配器,不用操心框架兼容性问题
✅ 高颜值 UI:基于 Knife4j 打造的可视化界面,比原生 Swagger 更清晰、更易用,接口分类、参数展示一目了然
✅ 无缝集成:与 @nestjs/swagger 深度兼容,原有 Swagger 配置无需大幅修改,快速接入
✅ 调试友好:支持在线接口调试、参数自动填充、响应格式化,开发测试一条龙
📦 极速安装
一行命令搞定基础安装,Fastify 用户额外补充依赖即可:
js
// 基础安装(Express/Fastify通用)
npm install nestjs-knife4j-plus @nestjs/swagger
// Fastify适配器需额外安装
npm install @fastify/static
⚠️ 注意:@fastify/static 版本需与 Fastify 版本匹配,兼容性矩阵参考:
| @fastify/static version | Fastify version |
|---|---|
^8.x |
^5.x |
^7.x |
^4.x |
^5.x |
^3.x |
^2.x |
^2.x |
^1.x |
^1.x |
🚀 快速上手
只需在原有 Swagger 配置基础上,添加 3 行代码即可启用:
typescript
import { SwaggerModule, DocumentBuilder } from '@nestjs/swagger'
import { knife4jSetup } from 'nestjs-knife4j-plus'
async function bootstrap() {
// 原有Swagger配置不变
const options = new DocumentBuilder()
.setTitle('Cats example')
.setDescription('The cats API description')
.setVersion('1.0')
.addTag('cats')
.build()
const document = SwaggerModule.createDocument(app, options)
SwaggerModule.setup('api', app, document)
// 启用knife4j增强(关键代码)
knife4jSetup(app, [
{
name: '2.0 version', // 文档版本名称
url: `/api-json`, // Swagger openapi JSON地址
},
])
await app.listen(3000)
}
启动项目后,访问 http://127.0.0.1:3000/doc.html,就能看到美化后的接口文档啦!

🌟 开源信息
- 许可证:MIT(完全开源可商用)
- NPM 地址:nestjs-knife4j-plus
- 源码仓库:github.com/jkhuangfu/n...
- 特别感谢:@xiaoymin 提供的 Knife4j WebUI 支持
目前插件已稳定迭代,issues 响应及时,无论是个人开发还是企业项目都能放心使用~ 赶紧安装试试,让你的 NestJS 接口文档告别单调,变得既好看又好用!
如果觉得有用,欢迎点赞收藏,转发给身边的 NestJS 开发者~ 有任何使用问题或建议,也可以去 GitHub 提交 issue 交流哦!