我有一个 REST 的 Jersey 实现,它提供了 Tomcat (Server1) 的 API
@POST
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
@Produces({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Users create(Users users) {
return dao.create(users);
}
请求是从 Apache (Server2) 的 jquery 客户端发布的
$.ajax({
type: 'POST',
contentType: 'application/json',
url: rootURL,
dataType: "json",
data: formToJSON(),
success: function(data, textStatus, jqXHR){
alert('user created successfully');
},
error: function(jqXHR, textStatus, errorThrown){
alert('user error: ' + textStatus);
}
});
这个jquery实际上正在向服务器提交请求,但是服务器/API无法识别这个请求。此外,所有其他请求,例如@Formparam/@Header等带有POST/GET的请求都在工作
如果我使用 REST 客户端使用相同的东西,它正在工作,任何人都可以帮助我吗 使用请求对象类型对 POST 问题进行排序。
最佳答案
调试通信问题的最佳方法是检查发送到服务器的 header 。为了完成此任务,您可以使用 Chrome 开发人员工具在浏览器中检查请求。打开 Chrome,按 F12,转到“网络”选项卡,按 XHR 过滤并强制发出此请求。复制所有标题并将其发布到此处。
然后,使用 Jersey Client API 进行测试。启用日志记录,向客户端添加过滤器:
client.addFilter(new LoggingFilter());
然后查看控制台并将输出与 Chrome 开发工具中的前一个输出进行比较。
关于jquery - 使用 Jersey 发出 REST 问题,同时使用 Jquery 提交 JSON 数组以进行 POST,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13273536/