nest-cli @nestjs/swagger 插件不起作用

问题描述 投票:0回答:3

“@nestjs/swagger”:“^5.2.0”,CLI 插件未注释所有 dtos 和 schemas 类。 嵌套-cli.json

{
  "collection": "@nestjs/schematics",
  "sourceRoot": "src",
  "compilerOptions": {
    "assets": ["mail/templates/**/*"],
    "watchAssets": true,
    "plugins": [
      {
        "name": "@nestjs/swagger",
        "options": {
          "dtoFileNameSuffix": [".dto.ts", ".schema.ts"]
        }
      }
    ]
  }
}

尝试了嵌套构建和嵌套启动,但 .dto.ts 保持不变

export class BulkUploadDto {
  file: string;
}

swagger nestjs
3个回答
0
投票

您知道该插件不会触及源文件,对吗?您可以比较启用和不启用插件的

.dto.js


0
投票

我认为您应该尝试的另一件事是删除

/dist
文件夹,然后停止并重新启动应用程序 (
npm run start
) 或重建。这是当前 (V8) 文档的要求。

请注意,您的

.dto
仍然缺少 swagger 使用的注释。

export class BulkUploadDto {
  /**
   * The file to be uploaded
   * @example 'john_doe.jpg'
   */
  file: string;
}

此外,无需在

.dto.ts
选项中显式设置
dtoFileNameSuffix
。这是默认值。


0
投票

您可能忘记加载元数据(由插件生成)。

来自 https://docs.nestjs.com/openapi/cli-plugin#swc-builder

  import metadata from './metadata';
  ...
  await SwaggerModule.loadPluginMetadata(metadata);
  const document = SwaggerModule.createDocument(app, config);
© www.soinside.com 2019 - 2024. All rights reserved.