🔥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 交流哦!

相关推荐
右耳朵猫AI2 分钟前
PHP周刊2026W37 | Symfony 三维护版齐发、Laravel AI SDK 0.11、LSP 服务器上线
后端·php·laravel
geovindu9 分钟前
CSharp:Condition Variable Pattern
后端·设计模式·c#·.net·.netcore·条件变量模式·同步型模式
Java内核笔记24 分钟前
Spring Boot 4 SSRF 防护源码剖析:InetAddressFilter 挡住内网地址与云元数据
java·后端
右耳朵猫AI37 分钟前
Node.js周刊2026W37 | 三处进程崩溃修复、fs 内置 glob、Workers 模块注册表、Vitest 5.0
javascript·后端·node.js
giszhc37 分钟前
腾讯地图瓦片接入方案:一个 Bun 代理,让 Mapbox / Leaflet / OpenLayers 通用
前端·后端
她的男孩44 分钟前
加了 @Idempotent 还是重复扣款了 3 笔:扒完 1279 行幂等 Starter,我挖出 5 个隐蔽的坑
java·后端·架构
pe7er1 小时前
引子
前端·后端·架构
SimonKing1 小时前
阅后即焚的加密便签:Cryptgeon,你口袋里的秘密信使
java·后端·程序员
灯澜忆梦1 小时前
【Redis中间件】#2 | 基础数据类型语法
redis·后端
孙启超1 小时前
【AI开发之Rust】第 6 课:结构体、枚举与方法 —— 开始定义自己的类型
开发语言·人工智能·后端·ai·rust