如何在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中获得相同的功能?