【发布时间】:2019-02-02 16:21:33
【问题描述】:
我阅读了以下帖子;但是,我仍然没有找到我的问题的决定性答案。
When do you use POST and when do you use GET?
How should I choose between GET and POST methods in HTML forms?
So why should we use POST instead of GET for posting data? [duplicate]
我想向我的服务器发出一个 HTTP 请求,以根据我将传递给服务器的一组 id 检索一些数据。由于每个 id 的长度为 23 个字符,因此发送 100 个这些 id 作为 GET 请求的查询参数将exceed the character length limit of some browsers。由于 URL 限制,标准 GET 请求不可行,因此我一直在考虑其他选择。
选项1:使用HTTP GET请求的请求体(根据以下SO线程不建议)
选项 2: 使用 HTTP POST 请求的正文发送 Ids 数组。这是Dropbox 似乎已用于其面向公众的 API 的方法。
我知道 POST 请求应该保留给非幂等的请求,在我的情况下,我应该使用 GET 请求,因为查询是幂等的。我也知道 REST 纯粹是一个指南,因为这个 API 只能由我使用,所以我可以做任何我喜欢的事情;但是,我认为在做出任何决定之前,我会就此事获得第二意见。
那么,在我的情况下我应该怎么做呢?我还没有发现更好的替代方案吗?如果我使用 POST 请求,我应该考虑什么?
【问题讨论】:
标签: rest web-services http post api-design