Rest API, сохраняйте вложенные модели в одном запросе - PullRequest
0 голосов
/ 24 августа 2018

Как я знаю в остальных, нам нужно сохранять каждую модель в отдельном запросе.Что делать, если у меня есть 3-4 уровня вложенных моделей, и я хочу сохранить все это в одном запросе, какова лучшая практика?(Rails, PHP, Node.js)

1 Ответ

0 голосов
/ 24 августа 2018

REST на самом деле не говорит о моделях, он говорит о ресурсах.

В службах REST нормально, когда «некоторые данные» (ваша модель) представлены несколькими ресурсами.

Таким образом, если вы определите новый ресурс, который объединит все эти модели в одну большую модель, то для вас также будет приемлемо отправить туда запрос PUT и обновить все в одном запросе, атомарно.

Однако стоит обратить внимание на кеширование. Если вы сильно полагаетесь на кеширование, обновление большого ресурса не делает автоматически недействительными все подресурсы в кеше. Насколько я знаю, пока нет стандартного способа сообщить клиенту, что другие ресурсы должны быть исключены из кэша. Есть черновик 2011 года, но он кажется заброшенным:

https://tools.ietf.org/html/draft-nottingham-linked-cache-inv-04

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...