У меня есть вопрос относительно дизайна REST API. Вот простой (может быть, простой) API:
GET /ecommerce/order/123
POST /ecommerce/order (create a new order)
PUT /ecommerce/order/123 (update an existing order)
DELETE /ecommerce/order/123 (cancel order)
Но что, если я хочу, чтобы клиент ввел причину отмены заказа? Мне нужно будет отправить данные сообщения в API, но это не будет работать с DELETE. Чтобы справиться с этим, мне пришлось бы изменить DELETE на PUT. Затем я разместил два разных ресурса для обновления и отмены.
Другим решением было бы изменить API:
GET /ecommerce/order/123
POST /ecommerce/order/create (create a new order)
PUT /ecommerce/order/update/123 (update an existing order)
DELETE /ecommerce/order/cancel/123 (cancel order)
Я не уверен, что лучший вариант.
Существует более общий вопрос о том, как REST API обрабатывает несколько команд для одного ресурса.
Любой ввод будет оценен! Я очень скоро буду читать REST на практике, но этот вопрос на меня отвлекает.