RestTemplate响应中获取输入流InputStream

RestTemplate调用接口如何获取输入流

由于项目需求,需要获取RestTemplate请求响应的输入流。如下:

首先需要获取一个RestTemplate实例:

RestTemplate rest = new RestTemplate();

一般的使用方式如下:

String message = rest.getForObject(url, String.class);
// or
String message = rest.postForObject(url, paramObject, String.class);

若要获取InputStream,需要使用到spring提供Resource接口和ResponseEntity类,方式如下:

ResponseEntity entity = rest.postForEntity(url, paramObject, Resource.class);
InputStream in = entity.getBody().getInputStream();

当然,我们也可以先使用entity对响应做出判断,比如检查响应状态:

if (entity.getStatusCode().equals(HttpStatus.OK)) {
    // ...
}

你可能感兴趣的:(Spring,RestTemplate,Java)