GET vs POST - RESTfully 文档生成和下载

GET vs POST - Document generation and download RESTfully

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

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

想法?

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

如果不出意外,我会说使用 GET 违反了最小惊讶原则。此外,它可能会限制您 API.

未来的成长