我有这个代码
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
client.addFilter(new HTTPBasicAuthFilter(adminUser, adminPass));
client.addFilter(new LoggingFilter(System.out));
WebResource service = client.resource(baseURL);
ClientResponse clientResponse = service.path("api")
.path("v1")
.path("shoppers")
.path(orderId)
.path("status.json").accept(MediaType.APPLICATION_JSON).post(ClientResponse.class, request);
每当我尝试发布类似的 JSON 请求时,我都会收到HTTP 415
错误响应。稍微深入研究一下这个问题就会发现 JERSEY 没有正确编组我的对象。通过添加LoggingFilter
,我可以看到在请求正文中,JAXBObject
被沼泽化为XML
而不是JSON
。
这是 JERSEY 的已知行为吗?我应该在这里做什么?