首页 > 解决方案 > OpenAPI 生成器 jaxrs-spec 停止缩短我的枚举值

问题描述

鉴于此项目sizeRange模型字段的OpenAPI 规范:

size:
  type: string
  description: Size range for this project
  enum: [RANGE_0_10M,RANGE_10M_50M,RANGE_50M_100M]
  example: RANGE_10M_50M

OpenAPIjaxrs-spec生成器会生成一个Project.class,例如:

public enum SizeEnum {
_0_10M(String.valueOf("RANGE_0_10M")), _10M_50M(String.valueOf("RANGE_10M_50M")), _50M_100M(String.valueOf("RANGE_50M_100M"));

生成的枚举值被缩短(用于 Java):

Project.SizeEnum._0_10M

我准备忽略这种不便,但在这种情况下会导致异常:

Enum.valueOf(Project.SizeEnum.class, "RANGE_0_10M");

No enum constant com.mycompany.my_project.Project.SizeEnum.RANGE_0_10M

笔记

如果我在枚举中添加一个以其他内容开头的值,RANGE_则会导致所有枚举值正确显示。我推断某些过程会自动缩短所有这些,因为它们共享一个前缀。

这是我可以访问的 OpenAPI 生成器配置吗?我找不到它:

标签: javaenumsjax-rsopenapiopenapi-generator

解决方案


推荐阅读