首页 > 解决方案 > 为什么使用 Jersey 客户端在 POST 调用中出现 400 错误代码

问题描述

我正在使用 Jersey REST 客户端调用发布请求,该客户端不包含请求正文但包含授权标头。我总是收到 400 错误。我从邮递员那里尝试过,我得到了 200 条回复。这是我的代码

ClientResponse response = null;
Client cliente=Client.create();
cliente.addFilter(new LoggingFilter(System.out));
WebResource webResource=cliente.resource("https://URL/token");
Builder builder = webResource.accept("application/json");
builder.type(MediaType.APPLICATION_JSON);
builder.header("Authorization", "Basic YbjjkwliOTQtNjRiYy00NWE5LWFhMzQtMTFhNDkyZZjNTVlOjZjYjk2OTMwNGE5YTQ3OTlhODVjZTM5MDFiMDEyMTI2";
builder.post(ClientResponse.class,Entity.json(""));

标签: javarestjerseyrest-clientjersey-client

解决方案


不要使用你现在尝试的方式。像这样使用来自泽西岛的 HttpAuthenticationFeature

HttpAuthenticationFeature feature = HttpAuthenticationFeature.basic("username", "password");

 

final Client client = ClientBuilder.newClient();

client.register(feature);

推荐阅读