【发布时间】:2018-03-13 13:03:11
【问题描述】:
我在我的 Java Spring MVC Web 应用程序中使用Jersey 1.9。我正在尝试发出一个帖子请求,我必须为其设置两个标头值 - 授权和内容类型。我能够使用邮递员 REST 客户端成功发布帖子。我尝试了很多网上找到的解决方案,但我得到的响应是 401-Authorization failed。以下是代码是我使用的代码:
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource webResource = client.resource("https://api.constantcontact.com/v2/contacts?action_by=ACTION_BY_OWNER&api_key=tntkzy2drrmbwnhdv12s36vq");
WebResource.Builder builder = webResource.type(MediaType.APPLICATION_JSON);
builder.header(HttpHeaders.AUTHORIZATION, "Bearer 28ac08bc-58d5-426e-b811-3b1d1e505a9b");
ClientResponse responseMsg = webResource
.post(ClientResponse.class, jsonString);
responseMsg.getEntity(String.class);
【问题讨论】:
-
发布真实凭据不是很聪明,如果这些实际上是真实凭据。至于您的问题,您可以发布邮递员请求的图片吗?
-
@Paul Samsotha,顺便说一句,这些不是真正的凭据
-
我会尝试使用
WebResource#queryParam而不是将参数放在 Url 字符串中。我猜这些参数是身份验证的一部分,并且没有正确序列化。请注意,调用queryParam会返回一个新的WebResource。 -
@Paul Samsotha - 但这真的会返回 401 - 未授权
-
查询参数中没有api键吗?你试过了吗?
标签: jersey http-post authorization jersey-client