2

当我将字符串对象类型传递给休息服务调用时,字符串“响应”包含休息 url 的 json 表示

RestTemplate restTemplate = new RestTemplate();
String response = restTemplate.getForObject("xxxxx", String.class, new Object[]{});

如果我将上面的代码更改为:

 RestTemplate restTemplate = new RestTemplate();
MyObject response = restTemplate.getForObject("xxxxx", MyObject.class, new Object[]{});

响应类型现在是 MyObject。

这里发生了什么,RestTemplate 在指定字符串类型时转换为 Json 并在指定对象返回类型时转换为指定的对象?

4

1 回答 1

4

是的。基本上,RestTemplate调用第一个参数中指定的 URL。该调用以 json 的形式返回响应。然后它使用MyObject.classandHttpMessageConverter将 json 转换为对象。

它使用注册HttpMessageConverters来转换,因此您的应用程序必须MappingJacksonHttpMessageConverter在您的应用程序中注册。

于 2013-06-11T22:11:21.307 回答