【发布时间】:2018-08-07 21:03:29
【问题描述】:
春天和一切的新手。试图命中端点并检索响应字段中的信息。但是,我不知道如何访问更具体的信息,而不仅仅是带回整个响应,因为它没有嵌套在键/值中?
我正在使用休息模板 + MappingJacksonHttpMessageConverter。
我想将信息映射到对 pojo 的响应中,只是不确定如何走得更远,或者我是否在这里的方向正确。下面的示例代码。
邮递员回复:
{
"success": true,
"message": "Success",
"body": {
"response": "TopStatus=Completed,TopRanking=4 - reqs met, TopDate=2014-04-23,TopTime=11:00 AM,TopEndTime=1:30 AM"
},
"status": 200
}
试图映射到 Pojo 的方法
public TopStatus getTopAppStatus(int topId, Status status) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
HashMap<String, String> statusObj = new HashMap<String, String>();
statusObj.put("topStatus", "Fail");
statusObj.put("topId", "93");
RestTemplate rt = getRestTemplate();
URI uri = new URI("urihere");
HttpEntity<HashMap> entity = new HttpEntity<HashMap>(statusObj, headers);
TopStatus response = rt.postForObject(uri, entity, TopStatus.class);
return response;
}
关于我如何设置它的 Pojo 示例
@JsonIgnoreProperties(ignoreUnknown = true)
public class TopStatus{
@JsonProperty("TopStatus")
private String topStatus;
rest of fields, setters, getters etc...
}
【问题讨论】:
-
@JsonProperty("TopStatus")不起作用。消息的特定部分不是 JSON。您可以期望的最好的是将response提取为字符串,然后自己进一步解析它 -
我明白了。我认为这是问题所在,但我不确定我是否在某个地方遗漏了有关如何提取它的文档,而不是拉出整个字符串并自己做..
标签: java json postman resttemplate pojo