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

相关推荐
Rust研习社10 小时前
组合真的优于继承吗?为什么 Rust 和 Go 都拥抱组合舍弃继承?
后端·rust·编程语言
IT_陈寒10 小时前
JavaScript的闭包把我坑惨了,说好的内存会自动回收呢?
前端·人工智能·后端
CaffeinePro11 小时前
Pydantic深度使用:数据校验、枚举、ORM映射
后端·fastapi
Chenyiax12 小时前
从 Chat 到 Responses:OpenAI API 抽象为什么变了?
后端
MariaH12 小时前
Koa和Express的区别
后端
MariaH12 小时前
Koa框架的使用
后端
luckdewei13 小时前
那个用 passlib 做认证的新同事,上线第一天就把用户密码写进了日志
后端
ping某14 小时前
为什么 Nginx 明明监听了 80,转发后端时却用了 4xxxx 端口?
后端·nginx
JustHappy14 小时前
我汇总了身边朋友的经历才发现,其实第一份实习是最难找的......
前端·后端·面试
uhakadotcom14 小时前
在python 的 工程化架构中 ,什么是 薄包装器层?
后端·面试·github