【java】后台如何处理OPTIONS请求

【java】后台如何处理OPTIONS请求

headers: 'Content-Type': 'application/json'
针对一个接口“/getProjectsByUserId”
前端发POST请求,并且headers: 'Content-Type': 'application/json',
所以POST请求为复杂请求,会先发送个OPTIONS请求。
但是我的后台里面没有写关于/getProjectsByUserId的OPTIONS请求。
所以后台会报错RESTEASY003655: No resource method found for options, return OK with Allow header
前台报错500

【java】后台如何处理OPTIONS请求

我在专门写个OPTIONS请求(让它返回200)的话.OPTIONS请求之后不会继续执行POST请求了。

然后各种spring跨域的配置都不好使。比方说写filter或者改配置(http://www.mamicode.com/info-...)或者这种

【java】后台如何处理OPTIONS请求

请问还有什么办法。。

回答

我用的网上的filter。
比较奇葩的是我需要@Order(1)来设定filter优先级最高才能生效。

这个是跨域问题,预检请求OPTIONS返回200没问题,同时还应该设置允许跨域;另外,你这个接口是用来处理POST的,那么不止需要处理OPTIONS,也要支持POST处理啊

OPTION请求返回的应该是204吧。
应该是在filter中检验是否允许

option为预请求,跨域或者复杂请求,浏览器都会自动发起一个预先请求,可以设置options的缓存时间

// 本次预检请求的有效期,默认为20天

header('Access-Control-Max-Age: 1728000');

以上是 【java】后台如何处理OPTIONS请求 的全部内容, 来源链接: utcz.com/a/73228.html

回到顶部