有没有人有一个简单的方法来使用swagger在nestjs中记录可重用的枚举?我不是说在请求中显示它们作为选项。我希望记录枚举本身,因为它们本身不是很容易理解:
export enum ScanState {
SCAN_WAITING_FOR_CAPTURE_DATA = 'SCAN_WAITING_FOR_CAPTURE_DATA',
SCAN_VALIDATING_CAPTURE_DATA = 'SCAN_VALIDATING_CAPTURE_DATA',
SCAN_CAPTURE_DATA_VALID = 'SCAN_CAPTURE_DATA_VALID',
SCAN_CAPTURE_DATA_INVALID = 'SCAN_CAPTURE_DATA_INVALID',
}
我认为应该有某种@Schema
或@ApiAdditionalProperty
或其他东西,我可以添加到文档的枚举顶部,然后将其添加到Swagger文档的Schemas部分,类似于它已经与类一起工作的方式。我使用@nestjs/swagger版本6.0.4。
这似乎是一个典型的Swagger/NestJS问题,但我在其他地方找不到好的解决方案。谢谢,任何帮助都非常感谢!
1条答案
按热度按时间u4vypkhs1#
我的最终解决方案是创建一些描述和属性常量,如下所示:
然后,在正在记录的dto中,我将属性const添加到字段中:
这导致swagger文档看起来像这样:
不是我最喜欢的解决方案,但它能完成工作!希望这能帮助别人,如果他们在未来遇到同样的事情:-)