You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 00:05:20