2017-02-11 38 views
0

Я пытаюсь найти лучший дизайн для API. У меня есть user и institution объектов. Каждый user может иметь только один institution, который представлен в таблице users колонкой institution_id.Rest API design: обновление отношений

Как смоделировать конечную точку, которая изменит, на какой institution есть user?

Некоторые из моих идей:

PUT /user/institution проходит в новом institution_id в организме.

PATCH /user обновление institution_id колонки в users

Любые предложения?

ответ

0

Я считаю, что PATCH /user updating the institution_id column in users

лучше, потому что вы обновляете атрибут в модели пользователя, и вы можете рассматривать его как любой другой атрибут принадлежит пользователю, как электронная почта, адрес .. и т.д., так как institution_id является в таблице пользователя.

Использование PUT приведет к тому, что вы предоставите всю модель при обновлении пользователя и потреблении сетевого трафика.

Кстати, при использовании ЗАПЛАТУ вы предъявите атрибуты, которые, который нужно обновить, и с помощью PUT вы предоставите всю пользовательскую модель.

Данные возврата из 2 глагола (PUT AND PATCH) должны быть всей моделью не только обновленных атрибутов.