Spring Cloud Feign接口返回流的实现
服务提供者
@GetMapping("/{id}")
publicvoidqueryJobInfoLogDetail(@PathVariable("id")Longid,HttpServletResponseresponse){
Filefile=newFile("xxxxx");
InputStreamfileInputStream=newFileInputStream(file);
OutputStreamoutStream;
try{
outStream=response.getOutputStream();
byte[]bytes=newbyte[1024];
intlen=0;
while((len=fileInputStream.read(bytes))!=-1){
outStream.write(bytes,0,len);
}
fileInputStream.close();
outStream.close();
outStream.flush();
}catch(IOExceptione){
log.error("exception",e);
}
}
client客户端
@GetMapping(value="/{id}",consumes=MediaType.APPLICATION_JSON_UTF8_VALUE)
feign.ResponsequeryJobInfoLogDetail(@PathVariable("id")Longid);
服务消费者
@GetMapping("/{id}")
publicvoidqueryJobInfoLogInfoList(@PathVariable("id")Longid,HttpServletResponseservletResponse){
Responseresponse=apiServices.queryJobInfoLogDetail(id);
Response.Bodybody=response.body();
InputStreamfileInputStream=null;
OutputStreamoutStream;
try{
fileInputStream=body.asInputStream();
outStream=servletResponse.getOutputStream();
byte[]bytes=newbyte[1024];
intlen=0;
while((len=fileInputStream.read(bytes))!=-1){
outStream.write(bytes,0,len);
}
fileInputStream.close();
outStream.close();
outStream.flush();
}catch(Exceptione){
}
}
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。