Как изменить формат POJO, сгенерированных из схемы JSON? - PullRequest
1 голос
/ 25 октября 2019

У меня проблемы с генерацией правильных POJO, необходимых для нисходящего вызова. Перечисление «abc» генерируется как «ABC». Тем не менее, перечисление "UVwxYZ" генерируется как UV_WX_YZ, в то время как мое требование - генерировать как "UVWXYZ". В настоящее время я использую JCodeModel для генерации POJO. Я не могу изменить перечисление "UVwxYZ" на "uvwxyz" или "UVWXYZ", так как схема уже имеет зависимости.

Это фрагмент схемы:

{
    "repositoryType": {
        "type": "string",
        "enum": [
            "ABC",
            "UVwxYZ"
        ]
    }
}

Это, когда POJOгенерируется, отображается как:

ABC("ABC"),
UV_WX_YZ("UVwxYz");

1 Ответ

0 голосов
/ 25 октября 2019

Yo может добавить @JsonValue на получателе вашего поля:

enum SOEnum {
 ABC("ABC"),
 UV_WX_YZ("UVwxYz");

 private final String value;

 @JsonValue
 public String getValue() {
   return value;
 }
}

Если перечисление используется в сериализации с Джексоном, результат будет "ABC", "UVwxYz".

Вы можете играть с геттером, чтобы преобразовать результат, например, добавив toUpperCase() к value

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...