1

路径中的空值和可空参数(例如查询参数)如何记录在@nestjs/swagger中?在路由dto 类中使用或在生成的 swagger 中提示用户输入属性值。这很令人困惑,因为没有任何值要传递给这个查询参数。还尝试提供一个下拉列表,但不添加将在 swagger/oas3 中的复选框。metadataGET /foo?metadatareadonly metadata?: null;readonly metadata?: null;@Query()stringmetadata@ApiProperty({ required: false, default: true, nullable: true }) readonly metadata?: booleanSend empty value

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

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

这里的关键是属性allowEmptyValue。如何通过装饰器或类验证器allowEmptyValue装饰器在表示 dto 的 TypeScript 类中定义?看起来BaseParemeterObject具有属性,但是如何将其与单个查询 dto 参数属性一起使用?@Query()@nest/swaggerallowEmptyValue: boolean

更新:

我可以在如下ApiQuery()路线上使用装饰器来获得正确的功能:@Controller()

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

class但是我怎样才能在代表的 DTO中获得相同的功能Query()

4

0 回答 0