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 对象反之亦然。
我有一个接收 "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 对象反之亦然。