小编Pet*_*ter的帖子

为什么 dto 中的类型在 swagger 中不可见?

我正在根据此文档在我的小型 Nest.js 应用程序中设置 swagger 文档:https ://docs.nestjs.com/recipes/swagger

如何设置 dto 以在 swagger 中正确显示架构?更具体地说,嵌套类型。它只显示顶级键。如果其中一个键是某种类型的东西,它就将它显示为空对象。这就是我的意思:

dto:

export class HealthCheckDataDto {
    serverStatus: {} // dont have it typed yet;
    dbStatus: MongoConnectionStateT;
} 
Run Code Online (Sandbox Code Playgroud)

昂首阔步:

[
  {
    "serverStatus": {},
    "dbStatus": {}
  }
]
Run Code Online (Sandbox Code Playgroud)

swagger 示例值中的预期结果:

[
  {
    "serverStatus": {},
    "dbStatus": {
      "isOnline": true,
      "msg": "string"
    }
  }
]
Run Code Online (Sandbox Code Playgroud)

这是函数:

@ApiResponse({ status: 200, description: 'blabla', type: [HealthCheckDataDto] })
@ApiResponse({ status: 500, description: 'blabla, but bad', type: [HealthCheckDataDto] })
@Get('/api/healthcheck')
healthCheckApp(@Res() res: Response<HealthCheckDataDto>) {

    // check HCs and …
Run Code Online (Sandbox Code Playgroud)

javascript nestjs nestjs-swagger

7
推荐指数
3
解决办法
9428
查看次数

标签 统计

javascript ×1

nestjs ×1

nestjs-swagger ×1