为什么 Jersey 在我的 POST 请求中为实体记录一个问号?
Why does Jersey log a question mark for the entity in my POST request?
我想使用 Jersey 客户端从我的 Dropwizard 应用访问 REST 服务。同样的技术在不同的地方工作得很好,但在目前的情况下,服务总是 returns a 500 尽管我知道 URL 等是正确的。由于我无法修改服务,因此我想记录我的请求以验证它们是否正常(因为我怀疑我的实体未正确序列化)。
因此我像这样在客户端注册了一个记录器:
restClient.register(new LoggingFilter(Logger.getAnonymousLogger(), true));
但它从不记录我的实体。我总是这样:
INFO [2015-07-01 14:12:47,433] unknown.jul.logger: 1 * Sending client request on thread dw-admin-34
1 > POST [My URL which is correct]
1 > Accept: application/json
1 > Accept-Encoding: gzip
1 > Content-Type: application/json
?
这是否意味着它不识别任何实体?
这是我构建客户端的方式:
this.restClient = new JerseyClientBuilder(dropwizardEnvironment)
.using(MyConfiguration.jerseyClient) // new JerseyClientConfiguration() in Dropwizard config class
.build("my client name");
这是我提出请求的方式:
Response r = restClient.target(address)
.request(MediaType.APPLICATION_JSON)
.acceptEncoding("gzip")
.post(Entity.json(entity)); //omitting entity. It's very simple and I checked that its values are fine
我对这一切都很陌生,所以这可能只是一些愚蠢的菜鸟错误。对请求正文未正确记录的任何想法?
问题在于 Jersey 客户端默认对正文进行 gzip 压缩。禁用 taht 后,它会记录并像魅力一样工作。
我想使用 Jersey 客户端从我的 Dropwizard 应用访问 REST 服务。同样的技术在不同的地方工作得很好,但在目前的情况下,服务总是 returns a 500 尽管我知道 URL 等是正确的。由于我无法修改服务,因此我想记录我的请求以验证它们是否正常(因为我怀疑我的实体未正确序列化)。
因此我像这样在客户端注册了一个记录器:
restClient.register(new LoggingFilter(Logger.getAnonymousLogger(), true));
但它从不记录我的实体。我总是这样:
INFO [2015-07-01 14:12:47,433] unknown.jul.logger: 1 * Sending client request on thread dw-admin-34
1 > POST [My URL which is correct]
1 > Accept: application/json
1 > Accept-Encoding: gzip
1 > Content-Type: application/json
?
这是否意味着它不识别任何实体?
这是我构建客户端的方式:
this.restClient = new JerseyClientBuilder(dropwizardEnvironment)
.using(MyConfiguration.jerseyClient) // new JerseyClientConfiguration() in Dropwizard config class
.build("my client name");
这是我提出请求的方式:
Response r = restClient.target(address)
.request(MediaType.APPLICATION_JSON)
.acceptEncoding("gzip")
.post(Entity.json(entity)); //omitting entity. It's very simple and I checked that its values are fine
我对这一切都很陌生,所以这可能只是一些愚蠢的菜鸟错误。对请求正文未正确记录的任何想法?
问题在于 Jersey 客户端默认对正文进行 gzip 压缩。禁用 taht 后,它会记录并像魅力一样工作。