Я новичок в весенней загрузке и отдыхе и, следовательно, простите меня, если этот вопрос очень тривиален.
У меня есть ситуация, когда приложение позволяет пользователям регистрироваться и размещать заказы.При регистрации пользователя сервис должен иметь возможность отправлять ответ с информацией о пользователе, в том числе - имя пользователя, адрес электронной почты, номер контакта, адрес и т. Д.
Однако при размещении заказов мне нужен объект ответа на заказ.включить в детали заказа только клиента (имя пользователя, адрес электронной почты).Я не хочу включать адрес и другую информационную часть объекта User.
В настоящее время происходит то, что, когда я ссылаюсь на существующий экземпляр пользователя в экземпляре Order, ответ Order имеет полный кортежИнформация о зарегистрированном пользователе.
В ответе на подтверждение заказа мне действительно не нужна вся информация о пользователе.
Однако, если для регистра пользователя используется ссылка на тот же объект Order, я хочу, чтобы служба включала все поля из объекта Order.
Я попытался сослаться на следующие ссылки -
Изменение Джексона JsonIgnore Динамически Как исключить поля с Джексоном, не использующим аннотации?
Однако решения, упомянутые здесь, всегда будут игнорировать атрибут в ответенезависимо от сценария, в котором на объект ссылаются.
Например - Ответ от службы заказа такой, как показано ниже.
{
"id": "ORD-1000",
"priority": null,
"status": "Open",
"customer": {
"id": "1000",
"name": "Avion Solutions",
"email": "support-na@avionsolutions.com",
"contact": null,
"customerType": "gold-sx",
"shipToContactId": null,
"billToContactId": null
},
"urgency": null
}
В приведенном выше кортеже ответа, скажем, я просто хочуинформация о заказе с основной информацией о клиенте, такой как имя и адрес электронной почты.
И если клиент регистрируется, то ответ должен содержать всю информацию, как указано в приведенном выше кортеже.
Как я могудинамически игнорировать атрибуты в ответе службы REST на основе контекста, в котором находится объект сущностиИспользуется?
Заранее спасибо.