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) {

}

}

以上是 Spring Cloud Feign接口返回流的实现 的全部内容, 来源链接: utcz.com/z/357721.html

回到顶部