如何在Spring MVC中为REST API实现HTTP“OPTIONS”?或者Spring框架能否根据控制器定义自行发现?是否有用于支持REST API的“OPTIONS”动词的用例?支持REST API的“OPTIONS”是否常见?
感谢。
答案 0 :(得分:3)
我强烈建议阅读CORS和同源政策,这几乎是OPTIONS方法的原因。当客户端尝试向不同的域发出非简单的http请求以确定是否允许客户端时,options方法用作预检请求。要查看简单和非简单的内容,请查看CORS spec。 HTTP选项在REST API中很常见,因为客户端必须进行CROSS-Origin资源共享。由于Same origin策略,来自不同域的站点无法轻松地相互进行REST调用。这是一个link来处理Spring中的options方法。
选项方法基本上向客户端发回服务器可以采取的内容以及哪些域能够对其进行调用。如果您的域名不符合它的标准,那么Http请求就会停止。此预检请求是强制性的,并且在大多数(如果不是所有)浏览器中都被强制执行,并且无法关闭(至少很容易)。