Я никогда не создавал RESTful API и мне интересно, насколько дискретным он должен быть?
Например, допустим, у меня есть клиент, у которого есть имя, адрес, номер телефона, адрес электронной почты, язык и т. Д.
Имеет ли смысл обновлять каждое отдельное поле (адрес обновления, адрес электронной почты и т. Д.), Или должно быть только одно обновление для всего клиента, и каждое поле является необязательным?
Ответы:
У вас есть одно действие обновления для ресурса. Как правило, таблица в вашей базе данных будет ресурсом. Таким образом, в вашем примере есть один контроллер для Клиента с одним действием обновления, и поля являются необязательными, насколько это возможно.
Могут быть исключения из этого (например, если вы обновляете пароль, вы ожидаете password & password_confirmation), но это справедливо для большинства случаев.
Более вероятно, что исключениями являются контроллеры, которые имеют ограниченные действия для некоторых ресурсов, например, SessionsController, который можно только создавать и уничтожать. Маловероятно, что вы захотите иметь действия для отдельных полей.
В вашем примере одна вещь может быть обработана как собственный ресурс, и это адрес. Если бы у вас была таблица адресов, особенно если на одного клиента было бы более одного адреса (выставление счетов, доставка ...), это можно было бы использовать как вложенный ресурс. Но снова одно действие по обновлению для всего ресурса адреса.
источник