![](/img/trans.png)
[英]Nest.js swagger module - object in dto not visible in swagger
[英]Swagger + Nest.js doesn't remove empty DTO and model
我正在使用Swagger
為Nest.js
API 創建文檔。 問題是我從這個 DTO 或 model 中刪除了文檔,在 swagger UI 文檔中我可以看到它是空的 object。
例如:
import { IsNotEmpty } from 'class-validator';
export class PostDto {
@IsNotEmpty()
readonly title: string;
@IsNotEmpty()
readonly content: string;
@IsNotEmpty()
readonly description: string;
}
我也試圖更改這個實體的名稱,使用隱身模式,重新安裝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
故障排除:如果您在開發模式下運行,可能需要停止/啟動。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.