如何在 OpenAPI 3.0 中为 Enum 类生成 getName()?

问题描述 投票:0回答:1

我正在使用 OpenAPI 3.0,并在 YAML 配置中定义了可重用的 Enum 架构,如下所示:

components:
  schemas:
    Color:
      type: integer
      enum: [1, 2, 3]
      x-enum-varnames:
        - black
        - white
        - red

生成的 Enum 类正确包含值和 getValue() 方法。但是,我需要发送枚举名称(例如“black”、“white”、“red”)作为 API 响应的一部分,而不仅仅是整数值。我正在寻找一种方法让 OpenAPI 自动生成 getName() 方法或类似方法来实现此目的。

我可以在 OpenAPI 规范中进行配置选项或修改来启用此功能吗?如何指示生成器在 Enum 类中包含名称和值?

任何有关如何实现这一目标的指导或建议将不胜感激。

java spring-boot openapi
1个回答
1
投票

看起来您应该在 DTO 的字段(或实体,取决于您的项目)内使用

@ApiModelProperty
,并在实体的类和枚举之上使用
@ApiModel
。这样,OpenAPI 应该能够识别您的 Enum!

欲了解更多信息,您可以查看此链接

如果您不使用注释来构建 Swagger,请查看此链接

© www.soinside.com 2019 - 2024. All rights reserved.