【发布时间】:2021-04-07 06:31:14
【问题描述】:
我们使用 microprofile openapi 注释为我们的其余接口生成 Swagger 文档。 枚举通常具有存储“显示名称”的属性,而不是枚举。
例如:
@AllArgsConstructor
@Getter
@JsonbTypeAdapter(MyEnumAdapter.class)
@Schema(implementation = MyEnum.class)
public enum MyEnum{
V1("displayname v1"),
V2("displayname v2"),
V3("displayname v3");
private final String name;
@Nullable
public static MyEnumfromString(String name) {
return Arrays.stream(values()).filter(u -> u.getName().equalsIgnoreCase(name)).findFirst().orElse(null);
}
}
Swagger 像这样显示枚举:
MyEnum string
Enum:
[ V1, V2, V3 ]
我想要什么:
MyEnum string
Enum:
[ "displayname V1", "displayname V2", "displayname V3" ]
API 返回“显示名称”,但是,Swagger 显示“枚举名称”,这通常会导致混淆。是否有可能更改 Swagger 值?
【问题讨论】:
标签: java enums swagger openapi microprofile