gpt4 book ai didi

Swagger + Nest.js 不会删除空的 DTO 和模型

转载 作者:行者123 更新时间:2023-12-05 04:25:01 29 4
gpt4 key购买 nike

我正在使用 SwaggerNest.js API 创建文档。问题是我从这个 DTO 或模型中删除了文档,在 swagger UI 文档中我可以将其视为空对象。

例如:

import { IsNotEmpty } from 'class-validator';

export class PostDto {
@IsNotEmpty()
readonly title: string;

@IsNotEmpty()
readonly content: string;

@IsNotEmpty()
readonly description: string;
}

enter image description here

我还尝试更改此实体的名称,使用隐身模式,重新安装 node_modules,但没有成功。如果我更改此实体的名称,它也会在那里更改。怎么了?

我想做的是删除这个文档装饰器,而不是看到那些空对象。

最佳答案

@nestjs/swagger 提供了一个 CLI 插件,它将使用反射自动添加注释。

这意味着您不再需要使用 @ApiProperty() 等单独注释每个属性

该插件是可选的,默认情况下未激活。

在你的 nest-cli.json 添加:

{
"collection": "@nestjs/schematics",
"sourceRoot": "src",
"compilerOptions": {
"plugins": ["@nestjs/swagger"]
}
}

您还可以更改默认选项:

"plugins": [
{
"name": "@nestjs/swagger",
"options": {
"classValidatorShim": false,
"introspectComments": true
}
}
]

参见 https://docs.nestjs.com/openapi/cli-plugin

故障排除:如果您在开发模式下运行,可能需要停止/启动。

关于Swagger + Nest.js 不会删除空的 DTO 和模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73374814/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com