当前位置 主页 > 网站技术 > 代码类 >

    Spring Cloud Feign接口返回流的实现

    栏目:代码类 时间:2019-11-06 18:04

    服务提供者

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

    以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持IIS7站长之家。