在处理不同类型的GET时,我应该如何格式化我的REST API

时间:2014-01-23 22:33:43

标签: rest restful-url restful-architecture

我说我有和订购资源。为了获得我想要的资源,我会做这样的事情:

GET /orders/{someId}

问题是当有不同类型的获取时我该怎么办。例如,用于编辑订单的GET或用于查看订单的GET。通常你只需使用orders/{someId},但在这种情况下,我需要为每个(一些审计)做一些不同的业务逻辑。

也许我可以这样做:

GET /orders/{someId}?type=review

但这似乎不对。想法?

2 个答案:

答案 0 :(得分:0)

GET /orders/{someId}/action

满足您的需求

GET /orders/{someId}/edit
GET /orders/{someId}/review

GET不应该修改项目,所以我假设这个URL只是用于加载资源,而不是用于修改它.... plz澄清这个

答案 1 :(得分:0)

您可以使用不同的HTTP方法(作为动词),具体取决于正在发生的操作。这将使您保持路径清洁和简单。

示例:

GET /orders/{someId}
PUT /orders/{someId}
POST /orders/{someId}
DELETE /orders/{someId}

GET用于检索,PUT更新,POST创建和删除以删除资源。这遵循基本的CRUD(创建,读取,更新,删除)。如果您需要添加任何其他过滤器/参数,请使用查询参数。