REST建议通过GET方法完成查询(而不是资源创建).在某些情况下,查询数据太大或结构化使得难以放入URL,并且为了解决这个问题,修改RESTful API以支持与主体的查询.
似乎需要body的RESTful查询的约定是使用POST.这里有一些例子:
查询不会修改系统的内部状态,但POST不支持幂等操作.但是,PUT是幂等的.为什么对于需要正文的查询,RESTful API是否将PUT与正文而不是POST一起使用?
注意: 一个流行的问题询问哪个(PUT vs POST)是创建资源的首选.这个问题询问为什么PUT不用于需要实体的查询.
不。PUT可能是幂等的,但它也有特定的含义。PUT 中的请求正文应用于替换URI 中的资源。
没有POST做出这样的假设。请注意,使用POST请求意味着该请求可能不是幂等的,在特定情况下它仍然可能是幂等的。
但是,您可以使用 来做到这一点PUT,但它需要您跳过一个额外的圈。基本上,您可以使用 创建一个“查询资源” PUT,然后GET立即使用 after 来获取该查询资源的结果。也许这就是您所追求的,但这是最 RESTful 的,因为生成的查询结果仍然可以链接到。POST(如果您使用请求,则完全缺少某些东西)。
| 归档时间: |
|
| 查看次数: |
1799 次 |
| 最近记录: |