Допустим, у меня есть перечисление:
public enum ParameterList {
FREQUENCY_ID("500");
...
lot's of different constants here
...
private final String param;
ParameterList(String param) {
this.param = param;
}
@Override
public String toString() {
return param;
}
}
И скажем, у меня есть DTO с полем:
private String frequency;
Допустим, у меня есть JSON
:
{"500" : "100Hz"}
Я хочу сопоставить это json
с моим dto
, поэтому DTO.frequency
будет иметь значение поля "500"
json (которое будет "100Hz"
).
Я понимаю, что только значения констант должны использоваться в качестве значений атрибутов, но есть ли какое-то решение, чтобы заставить следующую работу работать?
@JsonProperty(ParameterList.FREQUENCY_ID)
private String frequency;
(@JsonProperty
is com.fasterxml.jackson.annotation.JsonProperty
, версия 2.8.0)
Идея состоит в том, чтобы минимизировать изменения кода, когда перечисление ParameterList.FREQUENCY_ID
будет изменено с "500"
на другое значение.