>
我们创建了CORS筛选器,如下所示:
@Provider
public class CORSFilter implements ContainerResponseFilter {
@Override
public void filter(ContainerRequestContext request,
ContainerResponseContext response) throws IOException {
// TODO: Allow only from *our* Web front
response.getHeaders().add("Access-Control-Allow-Origin", "*");
response.getHeaders().add("Access-Control-Allow-Headers",
"origin, content-type, accept,x-request-id, x-api-key, x-api-secret, authorization");
response.getHeaders().add("Access-Control-Allow-Credentials", "true");
response.getHeaders().add("Access-Control-Allow-Methods",
"GET, POST, PUT, DELETE, OPTIONS, HEAD");
}
}
我们创建了一个REST资源
@Path("MyResource")
@POST
@Produces(MediaType.APPLICATION_JSON)
@Consumes(MediaType.APPLICATION_JSON)
public String MyResource(TestInput input) {
return input.getName();
}
public class TestInput {
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
如果cors报头存在,则通过返回来处理飞行前请求。
请在这方面指导我。提前道谢。
我认为您的ContainerresQuestFilter没有问题。您需要做的只是更新您的TestInput类并在其上添加以下注释。
@XmlRootElement
@XmlAccessorType(XmlAccessType.FIELD)
public class TestInput {
@XmlElement
private String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
我使用AJAX请求通过POST将数据发送到另一个域。因为我的内容类型不是标准的(它是JSON格式),所以需要一个飞行前请求。(使用请求方法:选项) 如维基百科跨域XHR调用图表中所述 我想知道这是否很费时,因为浏览器将必须到达服务器两次或不?也许这取决于每个浏览器的行为? 通过使用内容类型“纯文本”来避免飞行前请求,我是否获得了一些时间?
本文向大家介绍全面解析iOS中同步请求、异步请求、GET请求、POST请求,包括了全面解析iOS中同步请求、异步请求、GET请求、POST请求的使用技巧和注意事项,需要的朋友参考一下 先给大家分别介绍下iOS中同步请求、异步请求、GET请求、POST所代表的意思,然后在逐一通过实例给大家介绍。 1、同步请求可以从因特网请求数据,一旦发送同步请求,程序将停止用户交互,直至服务器返回数据完成,才可以进
我不清楚CORS头(Access-Control-Allow-Origin等)是否应该只出现在飞行前请求(OPTIONS方法)中,还是也出现在资源的头中(我试图使用XHR发布)
从浏览器到我的自助主机OWIN WebAPI的所有预飞行请求都不会被中间件处理。如果我从邮递员提出选项请求,它们将被处理。为什么是这样的行为? 请求URL:http://localhost:9000/api/v1/conversations/create?connectionId=13509f44-eacb-4950-8cc8-71bd37098975 请求方法:选项 状态代码:401未经授权的远
我正在我的本地主机上构建Web应用程序。 前端是Reactjs框架,运行在LocalHost:3000中
我正在运行,刚刚检查了服务器日志,并出现了几个类似的错误。我不明白是什么导致了它,因为错误每天都在12/24小时后出现。