球衣 2.0 内容长度未设置
我正在尝试发布到需要使用以下代码设置内容长度标头的 Web 服务:
// EDIT: added apache connector code
ClientConfig clientConfig = new ClientConfig();
ApacheConnector apache = new ApacheConnector(clientConfig);
// setup client to log requests and responses and their entities
client.register(new LoggingFilter(Logger.getLogger("com.example.app"), true));
Part part = new Part("123");
WebTarget target = client.target("https://api.thing.com/v1.0/thing/{thingId}");
Response jsonResponse = target.resolveTemplate("thingId", "abcdefg")
.request(MediaType.APPLICATION_JSON)
.header(HttpHeaders.AUTHORIZATION, "anauthcodehere")
.post(Entity.json(part));
从发行说明 https://java.net/jira/browse/JERSEY-1617 和泽西岛 2.0 文档 https://jersey.java.net/documentation/latest/message-body-workers.html 这意味着内容长度是自动设置的。但是,我从服务器收到一个411响应代码,指示请求中不存在Content-Length。
有谁知道获取内容长度标头集的最佳方法吗?
我已通过设置记录器验证了请求中未生成 Content-Length 标头。
谢谢。