В моем коде у меня есть доменный объект с типом Enum. Этот тип enum сохраняет и извлекает штраф из базы данных. Я преобразую список объектов домена в ячейки JSON. Все поля, кроме перечисления, являются либо строковыми, либо длинными. Когда json выбирается «на другой стороне», он отображает [Object object] для столбца вместо имени enum или значения enum. Есть ли что-то на стороне домена или json, которое поможет с этим? Код / пример ниже
Класс домена
class MyDomain {
long id
long otherValue
MyEnum enu //Nullable per constraints
//Mapping and constraints are not special.
}
Enum
enum MyEnum {
ENUM1("Value1"),ENUM2("Value2")
//constructor ommitted
String myValue
String toString() { myValue }
Создание соты Json
def jsonCells = domainList.collect
{
[cell: [
it.id,
it.otherValue,
it.enu?.value
],
id: it.id]
}
it.enu? .Value работает. Тем не менее, есть ли какой-то лучший способ сделать это, когда мне не нужно каждый раз вызывать значение и можно полагаться на объект? Я бы предположил, что переопределение метода toString позаботится об этом, но, очевидно, я ошибся. Я знаю, что это кажется незначительной проблемой, но «.value» легче забыть, тем более что один и тот же enum будет использоваться во многих объектах домена. Идеи?