OpenAPI Swagger-空值和可空参数

时间:2019-12-13 17:38:11

标签: swagger nestjs openapi nestjs-swagger

如何在Empty-Valued and Nullable Parameters中记录诸如metadata之类的路由中的@nestjs/swagger之类的查询参数GET /foo?metadata?在路径readonly metadata?: null;的dto类中使用readonly metadata?: null;@Query()会提示生成的招摇中的用户输入string属性的metadata值。这很令人困惑,因为没有值要传递给此查询参数。同样尝试@ApiProperty({ required: false, default: true, nullable: true }) readonly metadata?: boolean会提供一个下拉菜单,但不会添加在swagger / oas3中的Send empty value复选框。

在Swagger / OAS3中,这将记录为:

parameters:
  - in: query
    name: metadata
    schema:
      type: boolean
    allowEmptyValue: true

此处的键将是属性allowEmptyValue。如何通过allowEmptyValue装饰器或class-validator装饰器在表示@Query() dto的TypeScript类中定义@nest/swagger?看起来BaseParemeterObject具有属性allowEmptyValue: boolean,但是如何将其与单个查询dto param属性一起使用?

更新

我可以在ApiQuery()中的路由上使用@Controller()装饰器,以获取正确的功能:

@ApiQuery({ name: 'metadata', allowEmptyValue: true, type: Boolean, required: false })

但是如何在代表class的{​​{1}} DTO中获得相同的功能?

0 个答案:

没有答案