Мы используем аннотации openapi с микропрофилями для создания документации Swagger для наших остальных интерфейсов. Enums часто имеет свойство, в котором хранится отображаемое имя, которое отображается вместо Enum.
Например:
@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 показывает имя Enum, что часто приводит к путанице. Есть ли возможность изменить значения Swagger?