Ответ 1
После рафийского комментария к моему первоначальному ответу я переработал свой ответ, чтобы быть более RESTful...
- Использовать метод
PATCH
Этот метод обычно предназначен для частичного обновления состояния ресурса. В случае ресурса списка мы могли бы отправить список только с обновляемыми элементами и идентификаторами элементов в списке. Следующий запрос:
PATCH /group/users
[
{ "id": "userId1", "sequence": "newSequenceNumber1" },
{ "id": "userId2", "sequence": "newSequenceNumber2" },
(...)
]
- Использовать метод
POST
в ресурсе списка
Этот метод обычно используется для добавления элемента в список, управляемый ресурсом. Поэтому, если вы хотите использовать его для этого действия, нам нужно передать в запросе подсказку о выполнении действия. У нас есть выбор добавить это либо в выделенный заголовок, либо в полезную нагрузку.
При подходе заголовка у вас будет что-то вроде этого:
POST /group/users
X-Action: renumbering
[
{ "id": "userId1", "sequence": "newSequenceNumber1" },
{ "id": "userId2", "sequence": "newSequenceNumber2" },
(...)
]
При использовании полезной нагрузки у вас будет что-то вроде этого:
POST /group/users
{
"action": "renumbering",
"list": {
[
{ "id": "userId1", "sequence": "newSequenceNumber1" },
{ "id": "userId2", "sequence": "newSequenceNumber2" },
(...)
]
}
}
Надеюсь, это поможет вам, Thierry