RestTemplate响应中获取输入流InputStream

2023-02-05 15:05:22

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<Resource> entity = rest.postForEntity(url, paramObject, Resource.class);
InputStream in = entity.getBody().getInputStream();

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

if (entity.getStatusCode().equals(HttpStatus.OK)) {
    // ...
}
  • 作者:SmilingRon
  • 原文链接:https://blog.csdn.net/ron_2016/article/details/82884183
    更新时间:2023-02-05 15:05:22