当我将String对象类型传递给rest服务时,String“response”包含其余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,并在指定对象返回类型时转换为指定的对象吗?
答案 0 :(得分:4)
是。基本上,RestTemplate
调用第一个参数中指定的URL。该调用以json的形式返回响应。然后,它使用MyObject.class
和HttpMessageConverter
将json转换为对象。
它使用已注册的HttpMessageConverters
进行转换,因此您的应用必须在您的应用中注册MappingJacksonHttpMessageConverter
。