首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用POST方法调用REST api会调用GET方法

使用POST方法调用REST api会调用GET方法
EN

Stack Overflow用户
提问于 2011-09-21 11:09:01
回答 2查看 341关注 0票数 0

我正在开发一个firefox插件,它使用post方法调用rest api。如果使用POST调用rest api,它将持久化数据。如果使用GET方法调用它,它将检索先前持久化的数据。

但在某些情况下,即使使用POST数据调用,api也会返回持久化数据。

我很困惑,是我发送数据的方式错了,还是api出了问题。但大多数请求都得到了正确的处理。所以,我不认为插件有什么问题。Te后端在ROR上。

任何帮助都是最好的!

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2011-09-21 11:15:18

RESTful服务在响应POST时返回(更新的)数据副本的情况并不少见。

你真正关心的是当你发布的时候它会更新远程数据。无论它是否返回该数据的副本,您都可以放心地忽略它。

票数 2
EN

Stack Overflow用户

发布于 2011-09-23 23:45:24

如果它是间歇性的,一种可能是在您的服务器和客户端之间有一个HTTP缓存,该缓存实现得很差,并且不能正确区分GET和POST方法。即使您发送了POST请求,它也可能试图返回一个缓存副本,就好像您发出了GET请求一样。

相反,如果“在某些情况下”意味着“对于某些网址”,那么你有可能正在POST到一个类似"/foo“的网址(没有尾随斜杠),并且服务返回301或302,将客户端重定向到"/foo/”(带有尾随斜杠)。大多数用户代理会将POST更改为302的GET,有些用户代理将更改为301的GET。如果您可以控制服务器,则应该使用303或307。请参阅https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-p2-semantics-16#section-8.3.3

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7494151

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档