簡體   English   中英

Swagger + Nest.js 不會刪除空 DTO 和 model

[英]Swagger + Nest.js doesn't remove empty DTO and model

我正在使用SwaggerNest.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM