软件编程
位置:首页>> 软件编程>> java编程>> Spring Cloud Feign接口返回流的实现

Spring Cloud Feign接口返回流的实现

作者:java干货  发布时间:2021-06-07 07:21:54 

标签:Spring,Cloud,Feign,接口

服务提供者


@GetMapping("/{id}")
 public void queryJobInfoLogDetail(@PathVariable("id") Long id, HttpServletResponse response) {

File file = new File("xxxxx");
   InputStream fileInputStream = new FileInputStream(file);
   OutputStream outStream;
   try {
     outStream = response.getOutputStream();

byte[] bytes = new byte[1024];
     int len = 0;
     while ((len = fileInputStream.read(bytes)) != -1) {
       outStream.write(bytes, 0, len);
     }
     fileInputStream.close();
     outStream.close();
     outStream.flush();
   } catch (IOException e) {
     log.error("exception", e);
   }
 }

client 客户端


@GetMapping(value = "/{id}", consumes = MediaType.APPLICATION_JSON_UTF8_VALUE)
 feign.Response queryJobInfoLogDetail(@PathVariable("id") Long id);

服务消费者


 @GetMapping("/{id}")
 public void queryJobInfoLogInfoList(@PathVariable("id") Long id, HttpServletResponse servletResponse) {

Response response = apiServices.queryJobInfoLogDetail(id);
   Response.Body body = response.body();

InputStream fileInputStream = null;
   OutputStream outStream;
   try {
     fileInputStream = body.asInputStream();
     outStream = servletResponse.getOutputStream();

byte[] bytes = new byte[1024];
     int len = 0;
     while ((len = fileInputStream.read(bytes)) != -1) {
       outStream.write(bytes, 0, len);
     }
     fileInputStream.close();
     outStream.close();
     outStream.flush();
   } catch (Exception e) {

}
 }

来源:https://segmentfault.com/a/1190000020665350

0
投稿

猜你喜欢

手机版 软件编程 asp之家 www.aspxhome.com