【发布时间】:2013-07-22 16:15:59
【问题描述】:
如何在 Spring MVC 中为 REST API 实现 HTTP 'OPTIONS'?还是Spring框架可以根据控制器定义自行发现?是否有支持 REST API 的“OPTIONS”动词的用例? REST API 支持“OPTIONS”是否常见?
谢谢。
【问题讨论】:
标签: rest http spring-mvc http-options-method
如何在 Spring MVC 中为 REST API 实现 HTTP 'OPTIONS'?还是Spring框架可以根据控制器定义自行发现?是否有支持 REST API 的“OPTIONS”动词的用例? REST API 支持“OPTIONS”是否常见?
谢谢。
【问题讨论】:
标签: rest http spring-mvc http-options-method
我强烈建议阅读CORS 和同源政策,这几乎就是使用 OPTIONS 方法的原因。当客户端尝试向不同的域发出非简单的 http 请求以确定客户端是否被允许时,options 方法用作预检请求。要了解什么是简单的,什么是非简单的,请查看 CORS spec。 HTTP 选项在 REST API 中很常见,因为客户端需要进行跨域资源共享。由于同源策略,来自不同域的站点无法轻松地相互进行 REST 调用。这是一个link 来处理 Spring 中的 options 方法。
options 方法基本上将服务器可以接受的内容以及可以对其进行调用的域发送回客户端。如果您的域不符合它的标准,那么 Http 请求就会停在那里。此预检请求是强制性的,并且在大多数(如果不是所有)浏览器中都是强制的,并且无法关闭(至少很容易)。
【讨论】: