错误截图:
下面是我的 API 类,在其中我编写了 @OPTIONS 方法的代码。
@OPTIONS
public Response OptionsFirstRequst(){
return Response.ok()
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "*")
.header("Access-Control-Allow-Headers", "*").build();
}
我创建了一个名为“Response Builder”的类,用于为每个请求发送响应。 以下是“Response Builder”类的代码:
public class ResponseBuilder {
public int status;
public HashMap data;
public String error;
public static Response ok(int Status_code, HashMap<String, String> data, String Response_error) {
if (data == null) {
data = new HashMap();
}
ResponseBuilder response = new ResponseBuilder();
response.status = Status_code;
response.data = data;
response.error = Response_error;
return Response.status(Status_code).entity(response)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "*")
.header("Access-Control-Allow-Headers", "*").build();
}
public static Response error(int Status_code, HashMap<String, String> data, String Response_error) {
if (data == null) {
data = new HashMap();
}
ResponseBuilder response = new ResponseBuilder();
response.status = Status_code;
response.data = data;
response.error = Response_error;
response.data = new HashMap();
return Response.status(Status_code).entity(response)
.header("Access-Control-Allow-Origin", "*")
.header("Access-Control-Allow-Methods", "*")
.header("Access-Control-Allow-Headers", "*").build();
}
}
我还有一个请求过滤器,对每个请求进行令牌验证,除了登录请求之外。
我能够登录,生成令牌并将其返回给浏览器。但是,在登录后如果我点击个人资料,虽然在开发工具的网络中看到响应代码为200,但是我没有得到任何数据或正确的响应。
同时,我收到以下错误信息:
响应预检请求未通过访问控制检查:所请求的资源上不存在'Access-Control-Allow-Origin'头部。
ApplicationConfig
中的accessControlAllowedOrigins
是什么样子? - antogerva