java options设置_【java】后台如何处理OPTIONS请求

java options设置_【java】后台如何处理OPTIONS请求_第1张图片

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设置_【java】后台如何处理OPTIONS请求_第2张图片

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

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

java options设置_【java】后台如何处理OPTIONS请求_第3张图片

请问还有什么办法。。

回答

我用的网上的filter。

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

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

OPTION请求返回的应该是204吧。

应该是在filter中检验是否允许

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

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

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

你可能感兴趣的:(java,options设置)