1

在我的代码中,我经常以以下方式将 HttpEntity 与 ResponseEntity 一起使用:

HttpEntity<?> request = new HttpEntity<String>(myObject, headers);

ResponseEntity<String> response = restTemplate.exchange("someurl", HttpMethod.POST, request, String.class);

接着

response.getBody()

我一直重复这段代码,我想知道是否可以创建一个通用方法,当我向它提供我要发送的对象、url 和 HttpMethod 类型时,它允许我获取 response.body()。大多数情况下,响应正文将是一个字符串,但也可以是一个对象。

4

1 回答 1

6

您可以使用下面的代码,这里的响应正文和请求正文是通用的:

public <T, R> T yourMethodName(R requestBody, 
                               MultiValueMap<String, String> headers, 
                               String url, 
                               HttpMethod type, 
                               Class<T> clazz) {
    HttpEntity<?> request = new HttpEntity<String>(requestBody, headers);
   //You have to create restemplate Obj somewhere
    ResponseEntity<T> response = restTemplate.exchange(url, type, request, clazz);
    return response.getBody();
}
于 2017-06-01T10:17:01.110 回答