@iot9x.com/nestjs-swagger
TypeScript icon, indicating that this package has built-in type declarations

1.0.2 • Public • Published

NestJS Swagger 插件增强版

注意:仍在开发中,目前仅在内部使用

文档地址

使用说明

外部人员仅供参考,请不要用于生产环境,因此导致的事故后果请自行承担。

环境

基于@nestjs/swagger v6.1.2

  • node >=16.x
  • nest >=9.x

安装

$ npm i @iot9x.com/nestjs-swagger
or
$ yarn add @iot9x.com/nestjs-swagger
or
$ pnpm add @iot9x.com/nestjs-swagger  # 推荐使用pnpm

配置

装饰器模式与原版功能一致,但是 plugin 模式有修改增强。

{
  "collection": "@nestjs/schematics",
  "sourceRoot": "src",
  "compilerOptions": {
    "plugins": [
      {
        "name": "@iot9x.com/nestjs-swagger",
        "options": {
          "dtoFileNameSuffix": [
            ".dto.ts"
          ],
          "controllerFileNameSuffix": ".controller.ts",
          "classValidatorShim": true,
          "introspectComments": true
        }
      }
    ]
  }
}

option配置:

export interface PluginOptions {
  dtoFileNameSuffix?: string | string[];
  controllerFileNameSuffix?: string | string[];
  classValidatorShim?: boolean;
  dtoKeyOfComment?: string;
  controllerKeyOfComment?: 'summary' | 'description';
  introspectComments?: boolean;
}
配置项 默认值 说明
dtoFileNameSuffix ['.dto.ts', '.entity.ts'] 与原版相同
controllerFileNameSuffix .controller.ts 与原版相同
classValidatorShim true 与原版相同
dtoKeyOfComment 'description' 与原版相同
controllerKeyOfComment 'description' 选择 'description' 的时候与原版相同,选择 'summary' 的时候是魔改增强版本,支持注释中的 @description 功能
introspectComments false 与原版相同

RoadMap

  • [√] 支持Controller中方法注释的@return注释描述。
  • [ ] 支持ResDTO泛型类型。
  • [ ] 支持interface类型参数的DTO解析。

Readme

Keywords

none

Package Sidebar

Install

npm i @iot9x.com/nestjs-swagger

Weekly Downloads

3

Version

1.0.2

License

MIT

Unpacked Size

262 kB

Total Files

194

Last publish

Collaborators

  • iot9x.com
  • iricbing