小编Jun*_*per的帖子

REST API,每个资源有多个命令

我有一个关于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)
Run Code Online (Sandbox Code Playgroud)

但是,如果我希望客户输入订单被取消的原因怎么办?我需要将发布数据发送到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)
Run Code Online (Sandbox Code Playgroud)

我不确定哪个是最好的选择.

关于REST API如何处理单个资源的多个命令有一个更普遍的问题.

任何输入将不胜感激!我很快就会在练习中阅读REST,但这个问题正在扼杀我.

api rest http

10
推荐指数
1
解决办法
3946
查看次数

标签 统计

api ×1

http ×1

rest ×1