【发布时间】:2015-10-19 16:53:30
【问题描述】:
REST 建议查询(不是资源创建)通过 GET 方法完成。在某些情况下,查询数据太大或结构难以放入 URL,为了解决这个问题,修改了 RESTful API 以支持带有正文的查询。
似乎需要正文的 RESTful 查询的约定是使用 POST。以下是几个例子:
查询不会修改系统的内部状态,但 POST 不支持幂等操作。但是,PUT 是幂等的。对于需要正文的查询,为什么 RESTful API 不使用带有正文的 PUT 而不是 POST?
注意:A popular question 询问创建资源时首选哪个(PUT 与 POST)。这个问题询问为什么 PUT 不用于需要正文的查询。
【问题讨论】:
-
我对这个问题感到困惑。您是在询问 GET 与 PUT 还是 PUT 与 POST?第一句话说的是前者,但最后一段建议后者。
-
该问题询问关于 PUT 与 POST 的 查询 与正文。你不能用 body 做 GET(或者至少它没有被广泛支持),所以在主要/常见的 HTTP 动词中选择 PUT 或 POST,忽略 REPORT 和其他动词。
标签: rest