我有一个webservice调用,它接收一个“response”对象,但我只能将其作为字符串接收,就像下一个一样:
<200 OK,{"id":0,"amount":10000,"type":"Normal","userId":0,"userIdTeller":0,"createdAt":"15/12/2016 12:08","branchOfficeyId":0},{Server=[Apache-Coyote/1.1], Access-Control-Allow-Origin=[*], Access-Control-Allow-Methods=[*], Access-Control-Allow-Headers=[*], Access-Control-Max-Age=[86400], Content-Type=[application/json], Transfer-Encoding=[chunked], Date=[Sun, 16 Oct 2016 13:21:02 GMT]}>
所以,我对第一部分和第二部分感兴趣。我可以轻松地使用
<200 OK
拆分前两个元素,但如果您知道一个类来解开这个字符串,那就更好了。谨致问候!
最佳答案
您可以创建一个自定义的用户定义bean类,该类将保存响应实体对象的详细信息,如id、amount等,以及它的getter和setter
我建议在使用客户机代码的地方以下面的方式使用restemplate。
假设json等价的java对象是myresponse的实例,您可以使用下面的客户机代码。
private void getMyResponse()
{
final String uri = "theRestWebServiceURI";
RestTemplate restTemplate = new RestTemplate();
MyResponse myResponse = restTemplate.getForObject(uri, MyResponse.class);
}
注意,您可能需要添加jackson依赖项,因为springrestemplate将使用其api将json封送/取消封送到java对象中,反之亦然。