Java Jersey客户端总是抛出400个错误请求
我有一个休息电话。每当我试着用邮递员打电话时,效果都很好。但如果我使用JerseyAPI客户端尝试相同的post调用。我收到了400个错误的请求 String URI=“rest URI”Java Jersey客户端总是抛出400个错误请求,java,jersey-client,Java,Jersey Client,我有一个休息电话。每当我试着用邮递员打电话时,效果都很好。但如果我使用JerseyAPI客户端尝试相同的post调用。我收到了400个错误的请求 String URI=“rest URI” 如果我在Postman中使用上述输入运行相同的请求,我能够成功地命中api并获得200,但在JerseyAPI中获得400,因为您得到的请求响应不好,我认为您应该使用适当的JSON工具创建JSON字符串。您可以从字符串创建JSON对象开始,然后使用JSON对象检索输入 创建JSON对象: JSONObject
如果我在Postman中使用上述输入运行相同的请求,我能够成功地命中api并获得200,但在JerseyAPI中获得400,因为您得到的请求响应不好,我认为您应该使用适当的JSON工具创建JSON字符串。您可以从字符串创建JSON对象开始,然后使用JSON对象检索输入 创建JSON对象:
JSONObject jsonObject = new JSONObject(string);
使用JSON对象作为输入:
ClientResponse response = webResource.type("application/json")
.header("Authorization", "Basic secretKey")
.post(ClientResponse.class, jsonObject.toString());
邮递员是否发送了不同的邮件头?您确定JSON数据相同/有效吗?服务器是否在正文中返回任何有用的提示?是否可以添加正在打印的stacktrace?我假设JSON是从postman复制的,这很有效。因此,JSON本身很可能不是问题的原因。从
字符串创建JSONObject
,然后在其上使用toString()
有什么用?
ClientResponse response = webResource.type("application/json")
.header("Authorization", "Basic secretKey")
.post(ClientResponse.class, jsonObject.toString());