鉴于订单取消作为一项要求,以 RESTful 方式表示此操作的最佳设计选项是什么?为什么?
我至少可以想到以下几点
/orders/{id}/cancelled
(空 body )/orders/{id}
(带有更改属性的整个订单 JSON/XML/等 cancelled
)最佳答案
请记住,您的资源应该是名词,而不是动词或形容词。您的 http
负责告诉您正在使用资源做什么
/orders/{id}/cancelation
PUT
- 取消订单DELETE
- 回滚取消(也可能是一个场景)GET
- 返回取消详细信息(例如,您可能希望使用 cancelation
和 timestamp
字段扩展 username
资源)/orders/{id}
PUT (PATCH) - 可以通过传递以下内容来取消:
{
...
"order_status": "CANCELLED"
...
}
这确实取决于您的业务领域,但第一个对我来说听起来更可取,因为它增加了一些灵活性,例如使用
timestamp
扩展模型和取消取消。
关于REST 服务设计 : cancel an order?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45131492/