controller层返回值的问题 求解绝

我要接收1发来的http请求然后发送给2
但是我要等待2发送给我响应然后在返回给1
怎么能让controller判断2返回响应 不返回的话不会返回给1数据

这个就是一个转发的问题嘛,
你没有说明白,我想法中有两种情况,
第一种,2是同步响应:
你在controller层接收到1传给你的数据之后,你马上就推送给2,2收到之后给你返回值,你收到返回值了马上返回给1就是了,
大概代码如下:

@RequestMapping("/zf")
@ResponseBody
public String zf (HttpServletRequest request){
    String data=request.getParameter("data");//1传递的数据
     //判空
    if(data==null || data==''){
      return "数据为空";
     }    
    //转发给2
    String res = send2(data);
    return res;
}

第二种,2是异步响应
这种比较麻烦,就是你还需要写一个接口,由2回传给你的响应值,这个接口你收到2的响应值之后马上转发给1.

如果有帮助请采纳!

不要自己去想,把你的需求说说,如果只是你想要调用其他接口,restTemplate就能做到了

你用restTemplatena发送请求,这是一个同步的方法,只有等2给你响应了,代码才会继续往下走的。所以发送http请求给2,获取响应后再返回给1,就可以了