RESTful PUT请求转换为GET以“在新窗口中打开”

时间:2015-01-23 06:58:25

标签: spring rest spring-mvc browser restful-url

摘要:在新选项卡或窗口中打开时,我的PUT请求将转换为GET。

详情: 我有一个Spring服务器,如果用户将它限制在一个窗口,它可以正常工作。但是如果用户开始使用"右键单击,在新窗口中打开" PUT请求失败。

我使用Spring MVC编写的RESTFUL服务器。例如,使用调用GET mysite.com/myapp/admin/user/4的链接获取编辑页面。保存更改后,将映射一个按钮以将表单提交给PUT mysite.com/myapp/admin/user/4。工作正常。

(实际上,我的堆栈确实安装了HiddenHttpMethodFilter来处理PUT请求。)

当我的用户点击链接选择某个组织时,该链接会调用PUT mysite.com/myapp/admin/org/choose/7。我使用PUT是因为服务器将该组织设置为当前用户的默认值。

但是,假设用户在浏览器上执行(右键单击,在新选项卡中打开链接)。现在用户得到:

HTTP状态405 - 请求方法' GET'不支持

  • 输入状态报告

  • 消息请求方法' GET'不支持

  • description请求的资源不允许使用指定的HTTP方法。

预计GET会出错,但我最初发出了一个PUT。

我的问题?是什么导致PUT转换为GET for window.open()?

0 个答案:

没有答案