Это действительный объект Entry, полученный из запроса ПОЛУЧАТЬhttp://domain/entry/{id}:
{
"id": 1,
"description": "ML Books",
"dueDate": "2017-06-10",
"paymentDate": "2017-06-10",
"note": "Distribution de lucros",
"value": 6500,
"type": "INCOME",
"category": {
"id": 2,
"name": "Food"
},
"person": {
"id": 3,
"name": "User",
"active": true,
"address": {
// properties suppressed for better reading
}
}
}
В запросе POST я хочу сохранить внешние объекты Категория и Человек, просто отправив соответствующие идентификаторы, например:
{
"description": "NEW ENTRY",
"dueDate": "2019-06-22",
"paymentDate": "2019-06-22",
"note": "Coloured pens",
"value": 10,
"type": "INCOME",
"categoryId": 5,
"personId": 5
}
Чтобы сохранить объекты без того, чтобы Spring говорил, что объекты человека и категории были null, я добавил к ним @JsonIgnore в модели и следовал потоку это.
Частично получилось:
Теперь при получении записи с тем же запросом ПОЛУЧАТЬhttp://domain/entry/{id}:
{
"id": 23,
"description": "Pens",
"dueDate": "2019-06-22",
"paymentDate": "2019-06-22",
"note": "Coloured pens",
"value": 10,
"type": "INCOME",
"categoryId": null, // It supposed to bring the entire object
"personId": null // It supposed to bring the entire object
}
PS: categoryId и personId отмечены @Transient, поэтому они нулевые.
Итак, как указано в заголовке, я хочу игнорировать свойства «Категория» и «Человек» только в запросе POST (сохранение их), а не в запросах GET (их получение).
Любая помощь будет приветствоваться. заранее спасибо
Итак, вы предлагаете создавать разные модели для каждого случая (GET, POST)? Аннотации из Spring/Jackson не могут справиться с этим?

Джексон добавил аргументы аннотаций READ_ONLY и ЗАПИСАТЬ_ТОЛЬКО для JsonProperty. Таким образом, вы также можете сделать что-то вроде:
@JsonProperty(access = JsonProperty.Access.READ_ONLY)
@Id
@GeneratedValue
private Long id;
Вы используете один и тот же класс для представления трех очень разных вещей: 1. вашей модели постоянства, 2. данных JSON, которые обещает вернуть ваш HTTP API (и которые не должны меняться, если вы решите изменить свое мнение о реализации ваша модель постоянства), 3. данные JSON, которые ваш REST API ожидает для создания записи. Используйте три разных класса для каждой из этих трех разных вещей, и все будет намного понятнее, проще, гибче, потому что они развязаны.