Возможно обновление ресурсов с помощью свойств навигации?

#odata #navigation-properties

#odata #навигация-свойства

Вопрос:

У меня есть ресурс A, у которого есть свойство навигации, указывающее на ресурс B. Схема выглядит следующим образом:

Ресурс A:

  • ID
  • B (это свойство навигации «один ко многим»)

Ресурс B:

  • ID
  • Свойство1
  • Свойство2

Могу ли я обновить значения ресурса B (т.е. обновить property1 и property2 B) через навигационную ссылку A? Другими словами, могу ли я сказать A.B[5].Свойство1 = x?

В спецификации OData и примерах я вижу только описания изменения того, какой экземпляр B связан с A (т. Е. изменение /A (0) / $links/B), но не могу ли я ПОМЕСТИТЬ / ОБЪЕДИНИТЬ в /A (0) / B (2) и изменить сам B .

Комментарии:

1. Почему бы просто не отправить PUT в /B(2)? … нужно ли гарантировать, что B (2) связано с A (0)?

Ответ №1:

Вы должны иметь возможность отправлять запрос PUT в / A (0) / B (2) и изменять свойства B.

Комментарии:

1. Как насчет изменения коллекции B в целом? Могу ли я выполнить СЛИЯНИЕ в / A (0) / B и опубликовать массив обновленных значений свойств?

2. Нет — для этого вам нужны URL-адреса $ links, как вы отметили в своем вопросе.