spring rest模板中exchange方法和execute方法的区别?

时间:2014-12-09 12:04:35

标签: spring rest

我有三个问题!

首先

我使用spring框架通过rest协议发送数据。

restTemplate.exchange(requestUrl,HttpMethod.POST, request, listVo.getClass());

org.springframework.web.client.RestTemplate.exchange(String url, HttpMethod method, HttpEntity<?> requestEntity, Class<? extends Object> responseType, Object... uriVariables) throws RestClientException

我没有任何问题地使用它,但我想知道参数responseType的用途。 客户端不使用响应数据,而只使用响应状态代码/ msg。所以,我发了一些毫无意义的事 字符串数据。但是他们接受“null”的错误被抛出。所以我发送了一个“null”字符串。不是空的。 然后,错误摆脱了。但还有另一个问题。客户端从服务器收到数据并且暂停了很长时间后。然后执行下一行代码。有什么问题?

第二

我找不到任何使用Spring RestTemplate执行方法的引用。

第三

与标题一样,Spring rest模板中的exchange方法和execute方法有什么区别?

感谢您的时间和精力。 欢呼声。

2 个答案:

答案 0 :(得分:5)

交换返回类型为ResponseEntity<T>,执行时为T

答案 1 :(得分:0)

取自“Pivotal Certified Spring Web Application Developer Exam”一书

  

execute和exchange方法可用于任何类型的REST调用

     

执行方法也可以作为参数提供RequestCallback实现,它告诉RestTemplate在将请求发送到服务器之前如何处理。