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