我想在使用WebTarget调用Restful服务时记录未知的传入JSON属性。返回值应为JSON。我正在考虑将DeserializationProblemHandler设置为我的ObjectMapper。但是在哪里以及如何设置呢?
AsyncTask
如果我有一个ObjectMapper的实例:
WebTarget tgt = ...;
DummyResult result = tgt.request()
.post(Entity.entity(callParam, MediaType.APPLICATION_JSON_TYPE),
DummyResult.class);
感谢您的任何意见。
答案 0 :(得分:0)
我想出了这个,只是把这个大呼叫分开了。
javax.ws.rs.client.Invocation invocation = tgt.request()
.buildPost(Entity.entity(callParam, MediaType.APPLICATION_JSON_TYPE));
String response = invocation.invoke(String.class);
// then use ObjectMapper to serialize
String result = om.readValue(response, DummyResult.class);
现在' MyDeserializationProblemHandler'将按名称和值记录所有未知字段,因此我可以通知呼叫者任何可能的错误。