如何在NestJS类的Swagger定义中声明常量属性?
如何在Swagger中标记异常类的type属性为常量值?
完全可行,你可以通过调整@ApiProperty的配置,让Swagger明确显示MyWeirdException.type为固定常量'my-weird-exception',具体修改如下:
修改后的代码示例
enum MyEnum { MyWeirdException = 'my-weird-exception', RegularException = 'my-regular-exception' // 其他枚举值 } // 在你的异常类中 @ApiProperty({ description: 'Frontend can react on this property', enum: [MyEnum.MyWeirdException], // 限定仅允许该枚举值 default: MyEnum.MyWeirdException, // 设置默认值为该常量 example: MyEnum.MyWeirdException, // 显示示例常量值 }) type: MyEnum.MyWeirdException;
配置说明
enum: [MyEnum.MyWeirdException]:告诉Swagger这个属性只能取该枚举值,不会展示其他枚举选项default和example:让Swagger文档里直接显示这个固定的常量值,前端一眼就能明确该异常对应的type标识
这样配置后,Swagger定义里的MyWeirdException.type就会被标记为常量'my-weird-exception',完全满足你的需求。
内容的提问来源于stack exchange,提问作者distante
相关产品推荐
相关产品推荐

