Java Okhttp将响应转换为Spring响应

Java Okhttp将响应转换为Spring响应,java,spring-boot,httpresponse,okhttp,Java,Spring Boot,Httpresponse,Okhttp,我有一个带有PostRESTAPI的Springboot 2.2 Web服务。 我正在使用Okhttp客户端向第三方服务发出请求。 我想将第三方服务的确切响应返回给我的Web服务的调用者。 所有okhttp配方均参考: if (!response.isSuccessful()) throw new IOException("Unexpected code " + response); System.out.println(response.body().string()); 我

我有一个带有PostRESTAPI的Springboot 2.2 Web服务。 我正在使用Okhttp客户端向第三方服务发出请求。 我想将第三方服务的确切响应返回给我的Web服务的调用者。 所有okhttp配方均参考:

 if (!response.isSuccessful()) throw new IOException("Unexpected code " + response);

      System.out.println(response.body().string());
我已尝试在api中返回okhttp响应,但只返回调用方示例:

{
    "redirect": false,
    "successful": true
} 
因此,它不会插入从第三方服务返回的消息


有人知道如何将Okhttp响应对象转换为Spring ResponseEntity对象,这样我就可以返回http响应代码和消息了吗,您可以直接在SpringWebService中使用
HttpServletResponse
,并通过管道将okhttp ResponseBody提供的输入流传输到
HttpServletResponse
的输出流

@PostMapping(path="/my/webservice")
public void postSomething(HttpServletResponse response)throws IOException{
   okhttp3.Response redirectedResponse = redirectCall();
   if(redirectedResponse.isSuccessful())
     pipe(response.getOutputStream(), redirectedResponse.body.byteStream());
}

private void pipe(OutputStream output, InputStream input)throws IOException{
   byte chunk[] = new byte[1024];
   while(input.read(chunk, 0, 1024) != -1){
     output.write(chunk);
   }
}

你能将你的okhttp相关代码添加到操作ie中吗?你是如何创建和发送/接收请求的。你能解释一下
pipe
是如何工作的吗?我添加了一个示例方法<代码>管道将少量(1024字节)的第三方响应(输入流)管道传输到当前请求的输出流,直到到达该输入流的末尾。管道是内置函数吗?如果不是,我如何创建一个自定义的
管道
函数?不,它不是内置函数。您应该将此函数添加到Spring-Controller。任何示例或参考链接,对不起,我对Spring-boot有点陌生。