“@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;
}
您知道该插件不会触及源文件,对吗?您可以比较启用和不启用插件的
.dto.js
我认为您应该尝试的另一件事是删除
/dist
文件夹,然后停止并重新启动应用程序 (npm run start
) 或重建。这是当前 (V8) 文档的要求。
请注意,您的
.dto
仍然缺少 swagger 使用的注释。
export class BulkUploadDto {
/**
* The file to be uploaded
* @example 'john_doe.jpg'
*/
file: string;
}
此外,无需在
.dto.ts
选项中显式设置 dtoFileNameSuffix
。这是默认值。
您可能忘记加载元数据(由插件生成)。
来自 https://docs.nestjs.com/openapi/cli-plugin#swc-builder
import metadata from './metadata';
...
await SwaggerModule.loadPluginMetadata(metadata);
const document = SwaggerModule.createDocument(app, config);