我要接收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,就可以了