Я использую аннотацию @JsonIdentityInfo для сериализации / десериализации объекта с использованием его идентификатора.
Я реализовал ObjectIdResolver, который работает хорошо.
@JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class,
property = "id", resolver = EntityIdResolver.class, scope = MyClass.class)
public class MyClass{....}
Я нашел документацию поэта аннотация здесь .
Моя проблема заключается в утверждении: «На практике это делается путем сериализации первого экземпляра как полной идентичности объекта и объекта и других ссылок на объект в качестве ссылочных значений."
Теперь моя Rest-Endpoint возвращает что-то похожее на
{
"itemList": [
{
"id": 70110,
"myClass": {
"id": 3,
"name": "itemName",
"date": "2000-01-01"
},
},
{
"id": 70111,
"myClass": 3,
}
]
}
Но это означает, что клиент должен иметь дело с различными типами данных.Клиент знает все объекты, поэтому не имеет значения, вернет ли сериализация либо только идентификатор, либо полный объект.
Как запретить Джексону использовать это поведение?