atc*_*way 9 rest post get http restful-architecture
好了,我已经知道所有的原因在纸上,为什么我应该不是做一个REST调用来更新服务器上的东西的状态时使用HTTP GET.因此每次可能返回不同的数据.而且我知道以下"纸上"原因是错误的:
我相信还有更多理由.但是我需要一个具体的简单示例来证明"嗯,这违反了HTTP规范!".......或者至少我希望有一个.我还已经阅读了以下列表中的以下内容:当我在GET调用中向服务器写入内容时,它是否违反了RESTful?& HTTP POST与URL查询参数 - 好主意与否?
例如,有人可以证明以上内容以及为什么使用HTTP GET说错误/不良做法/不正确,请使用以下RESTful调用
"MyRESTService/GetCurrentRecords?UpdateRecordID=5&AddToTotalAmount=10"
Run Code Online (Sandbox Code Playgroud)
我知道这是错的,但希望它有助于提供一个例子来回答我原来的问题.因此,上面将使用AddToTotalAmount = 10更新recordID = 5,然后返回更新的记录.我知道应该使用POST ,但是假设我确实使用了GET.
如何确切地回答我的问题是否会导致实际问题?除了上述项目符号列表中的所有违规行为外,如何使用HTTP GET执行上述操作会导致一些实际问题?太多次,我进入一个场景,我可以用"因为医生这么说"来证明事情,但我需要理由并更好地理解这一点.
谢谢!
Fra*_* IV 17
您遇到问题的实际情况是HTTP GET经常在HTTP实现失败的情况下重试.因此,您可以在现实生活中获得服务器多次接收相同GET的情况.如果你的更新是幂等的(你的更新),那么就没有问题了,但如果它不是幂等的(比如在某个数量上添加一些值),那么你可能会得到多个(不需要的)更新.
永远不会重试HTTP POST,因此您永远不会遇到此问题.
| 归档时间: |
|
| 查看次数: |
6239 次 |
| 最近记录: |