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

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

GET /orders/{someId}

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

也许我可以做这样的事情:

GET /orders/{someId}?type=review

但这似乎是错误的。 思考?


GET /orders/{someId}/action

满足您的需求

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

GET不应该修改该项目,所以我认为这些URL只是用于加载资源,而不是用于修改它... plz澄清这一点


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

例子:

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

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

链接地址: http://www.djcxy.com/p/71267.html

上一篇: How should I format my REST API when dealing with different types of GET

下一篇: REST creation without persisting