javafx 禁止窗口缩放 java禁止options_Access

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

javafx 禁止窗口缩放 java禁止options_javafx 禁止窗口缩放_02

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

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

javafx 禁止窗口缩放 java禁止options_javafx 禁止窗口缩放_03

请问还有什么办法。。

回答

我用的网上的filter。

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

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

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

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

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

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

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