Какой метод http для обновления одного свойства - PullRequest
0 голосов
/ 06 марта 2019

Я хочу создать маршрут http, который устанавливает номер телефона в качестве основного для текущего аутентифицированного пользователя.

Не могли бы вы предложить правильный метод http и маршрут для использования.

Яколеблется между GET / auth / phones / {phone_id} / main и PATCH / auth / phones / {phone_id} с объектом {main: true} в запросе тела.

при настройке нового основного телефона старый основной телефон автоматически отключается.

Ответы [ 3 ]

3 голосов
/ 06 марта 2019

Предполагая, что /auth/phones/{phone_id} представляет определенный номер телефона аутентифицированного пользователя, я бы сделал следующее:

PATCH /auth/phones/{phone_id}
Content-Type: application/json

{
    "main":true
}

HTTP-метод GET не должен использоваться для изменения состояния ресурса.

3 голосов
/ 06 марта 2019

Согласно Mozilla Foundation, PATCH - это правильный способ применения обновлений частичек к записи.

Подробнее в https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH

1 голос
/ 06 марта 2019

Как правило, вы не хотите изменять данные с помощью метода GET. Варианты, которые вы должны рассмотреть: POST / PUT / PATCH. Типичный подход будет:

  • POST: создание нового объекта или дочернего объекта
  • PUT: замена существующего объекта значениями, указанными в запросе
  • PATCH: частичное обновление существующего объекта
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...