我正在尝试在我的项目中使用枚举,并且需要使用小写而不是大写将它们保存在 mongoDB 集合中。
我有一个带有值 String 字段的枚举和用 Jackson 的@JsonCreator和注释的 setter/getters @JsonValue。
public enum State {
GREEN ("vert"),
ORANGE ("orange"),
RED ("rouge");
private final String value;
State(String val) {
this.value = val;
}
@JsonCreator
public static State fromValue(String value) {
if (value != null) {
for (State state : values()) {
if (state.value.equals(value)) {
return state;
}
}
}
throw new IllegalArgumentException("Invalid state: " + value);
}
@JsonValue
public final String toValue() {
return value;
}
}
Run Code Online (Sandbox Code Playgroud)
我有一个使用这个枚举的类,如下所示:
@Document(collection …Run Code Online (Sandbox Code Playgroud)