Рассмотрим приведенную ниже схему примера, так как вы можете видеть, что полк имеет отношения «многие ко многим» с подрядчиками, которые могут быть одинаковыми для нескольких полков.REST избежать дублирования усилий
Если я должен создать два полка с несколькими сотнями общих подрядчиков я в основном загрузить два раза одни и те же подрядчики на сервер:
<regiments>
<regiment>
<contractors>
<conctractor>
<id>1</id>
...
</contractor>
<conctractor>
<id>2</id>
...
</contractor>
</contractors>
</regiment>
<regiment>
<contractors>
<conctractor>
<id>2</id>
...
</contractor>
<conctractor>
<id>5</id>
...
</contractor>
</contractors>
</regiment>
</regiments>
Я использую PUT, где полки и у подрядчиков есть предопределенный идентификатор, потому что я использую REST для синхронизации настольного приложения с веб-приложением, и оба должны использовать те же идентификаторы для своих объектов.
Обратите внимание, что объект-подрядчик очень большой и имеет подписи, поэтому повторная загрузка даже одного подрядчика - это большая потеря времени и ресурсов для сервера.
Как я могу избежать повторной загрузки одних и тех же подрядчиков?
является подрядчиком адресуемые как ресурс своей собственной? Если да, вы можете просто ссылаться на него в полку. –
Да Я могу обратиться к подрядчику и добавить его с помощью REST PUT. Однако, если мне нужно связать N полков с подрядчиком, мне нужно будет загрузить N полков с повторным повторением для каждого. Это трата, о которой я говорю. –