GET与POST - 文档生成和RESTful下载

时间:2015-07-08 14:46:56

标签: rest post get

我正在编写一个RESTful API,客户端可以在其中请求生成报告。该报告没有ID,也不存在独立于此请求的情况。报告请求有许多参数:大约10个(报告类型,要查询的实体ID,日期范围,其他说明符)。

但是,初始下载后不会再次访问它。这应该是POST请求还是GET请求?我看到两者的论点,但感觉POSTing因为一些原因而更加RESTful。首先,没有请求,报告不存在。其次,如果我们决定添加一个缓存层,这肯定是一个POST,因为请求具有创建报告的副作用,那么我们将保存一个键并返回缓存的报告。但是,就目前而言,我们并没有进行任何缓存(尽管将来可能会发生变化)。

思想?

1 个答案:

答案 0 :(得分:1)

执行POST/reports以创建报告实例。返回响应中的报表表示。您可以稍后选择存储报告并支持GET,或不支持。

如果不出意外,我说使用GET违反了最不惊讶的原则。此外,它可能会限制API的未来增长。