好的,我已经知道为什么在进行 RESTful 调用以更新服务器上某些内容的状态时不应该使用 HTTP GET 的所有原因。因此每次返回可能不同的数据。而且我知道这是错误的,原因如下:
- HTTP GET 调用应该是幂等的
- N > 0 调用应始终返回相同的数据
- 违反 HTTP 规范
- HTTP GET 调用通常是只读的
我相信还有更多的原因。但我需要一个具体的简单示例来证明,而不是“嗯,这违反了 HTTP 规范!”。...或者至少我希望有一个。我也已经阅读了以下内容,这些内容与上面列表中的内容更相似:当我在 GET 调用上向服务器写入内容时,它是否违反了 RESTful?& HTTP POST 带有 URL 查询参数——好主意还是不好?
例如,有人可以通过以下 RESTful 调用来证明上述内容以及为什么使用 HTTP GET 是错误的/不好的做法/不正确的
"MyRESTService/GetCurrentRecords?UpdateRecordID=5&AddToTotalAmount=10"
我知道这是错误的,但希望它有助于提供一个例子来回答我原来的问题。所以上面会用 AddToTotalAmount = 10 更新 recordID = 5 然后返回更新的记录。我知道应该使用 POST,但假设我确实使用了 GET。
如何准确地回答我的问题,或者这会导致实际问题吗?除了上述项目符号列表中的所有违规行为之外,使用 HTTP GET 执行上述操作如何导致一些实际问题?太多次我遇到这样一种情况,我可以用“因为医生这么说”来证明事情的合理性,但我需要证明和更好地理解这一点。
谢谢!