Java 中的响应字符串 (http)

String to Response (http) in Java

我有一个接收 "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} 很感兴趣。我可以轻松地用 , 拆分并获取前两个元素,但是如果你知道 class 来解组这个字符串会更好。

此致!

您可以创建一个自定义的用户定义的 bean class,它将包含您的响应实体对象的详细信息,如 id、数量等及其 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 依赖项,因为 Spring RestTemplate 将使用其 API for marshalling/un-marshalling JSON 进入 Java 对象反之亦然。