🔥NestJS 接口文档神器!nestjs-knife4j-plus 让 Swagger 颜值与功能双飞跃

作为 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,就能看到美化后的接口文档啦!

🌟 开源信息

目前插件已稳定迭代,issues 响应及时,无论是个人开发还是企业项目都能放心使用~ 赶紧安装试试,让你的 NestJS 接口文档告别单调,变得既好看又好用!

如果觉得有用,欢迎点赞收藏,转发给身边的 NestJS 开发者~ 有任何使用问题或建议,也可以去 GitHub 提交 issue 交流哦!

相关推荐
JaguarJack1 分钟前
免费可商用 PHP 管理后台 CatchAdmin V5.3.1 发布 后台打包直降 5s 内
后端·php·laravel
小张小张爱学习1 小时前
Spring Boot 多线程并发入门教程:ThreadPoolTaskExecutor + CompletableFuture
java·spring boot·后端
西安邮电大学1 小时前
Redis核心数据结构以及应用场景
java·redis·后端·其他·面试
AskHarries1 小时前
做 SaaS 还是做 App
后端
卷无止境1 小时前
银行里的"等不了"——SimPy Bank Renege 示例全解析
后端
星栈1 小时前
别再满项目乱丢 String:我开始给领域错误分层了
后端·代码规范
卷无止境1 小时前
SimPy 监控与数据收集:完整指南
后端
卷无止境1 小时前
Event Latency:把"等待"这件事,交给电缆来负责
后端
武子康2 小时前
Java-10 深入浅出 MyBatis 一对多与多对多查询配置详解
java·后端
一 乐2 小时前
网上订餐系统|基于springboot的网上订餐系统设计与实现(源码+数据库+文档)
java·数据库·spring boot·后端·论文·毕设·网上订餐系统