Сопоставить json строковое значение со значением типа enum - PullRequest
0 голосов
/ 07 апреля 2020

Я работаю в проекте SpringBoot.

В моем классе модели есть свойство типа enum:

public class Car {
   CarType type;
   ...
}

Тип перечисления CarType:

public enum CarType {
  SEDAN, HATCHBACK, SUV
}

В моем слое DTO полезная нагрузка запроса должна указывать тип автомобиля, обычно для указания типа автомобиля используется тип String:

public class RequestPayload {
   String carType;
   ...
}

Но если я определю его как тип enum:

public class RequestPayload {
       CarType carType;
       ...
}

Интересно, есть ли способ напрямую отобразить значение из json в значение типа enum?

1 Ответ

1 голос
/ 07 апреля 2020

Да, вы можете определить carType как enum в вашем слое DTO.

public class RequestPayload {
       CarType carType;
       ...
}

Он автоматически сопоставит значение Json со значением enum, а в случае, если значение не совпадает enum значения затем будут выбрасывать Exception.

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