Как выбрать подход для обновления ресурсов в REST - PullRequest
0 голосов
/ 14 марта 2019

Я рассматриваю два подхода при обновлении rest api, и я не уверен, как выбрать, какой подход следовать

Например

GET /service/1000

{
"service_id": 1000,
"name": "Some service"
"status": "ACTIVE"
}

Сейчас. Если я хочу обновить этот сервис, ямог сделать

PUT /service/1000
{
"service_id": 1000,
"name": "Some service"
"status": "INACTIVE"
}

или

POST /service/1000/update-status
{
"status": "INACTIVE"
}

или даже

POST /service/1000/activate
{

}

и

POST /service/1000/deactivate
{

}

Так что мой вопрос в том, каково правилобольшого пальца, чтобы следовать при выборе подхода, как обновить REST?

РЕДАКТИРОВАТЬ Этот вопрос не о том, когда использовать POST / PATCH / PUT, речь идет о том, должен ли ресурс обновляться, вызывая тот же ресурс, или он должен быть обновлениспользуя действие.Например, твиттер использует действия https://developer.twitter.com/en/docs/api-reference-index

1 Ответ

0 голосов
/ 14 марта 2019

Из того, что вы рассматриваете, put более уместно, однако я в некоторых случаях patch более уместно, поэтому при изменении значения ресурсов вы рассматриваете использование patch, но при добавлении нового свойства put более уместно, см. --- REST API PATCH или PUT

...