我有一个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
和第二部分{"id":0,"amount":10000,"type":"Normal","userId":0,"userIdTeller":0,"createdAt":"15/12/2016 12:08","branchOfficeyId":0}
感兴趣。我可以轻松地与,
分开并获取前两个元素,但是如果你知道要解组这个字符串的类,那就更好了。
最诚挚的问候!
答案 0 :(得分:0)
您可以创建一个自定义用户定义的bean类,它将保存响应实体对象的详细信息,如id,amount等及其getter和setter
我建议使用以下方式使用RestTemplate,其中使用了客户端代码。
假设JSON等效Java对象是 MyResponse 的实例,您可以使用下面的客户端代码。
private void getMyResponse()
{
final String uri = "theRestWebServiceURI";
RestTemplate restTemplate = new RestTemplate();
MyResponse myResponse = restTemplate.getForObject(uri, MyResponse.class);
}
请注意,您可能必须添加Jackson Dependencies,因为Spring RestTemplate将利用其API将JSON编组/解组成Java对象,反之亦然。