我想代理传递GET和POST请求
这是我的POST请求的示例:
<form action="/proxy/mail" method="post" encType="multipart/form-data">
<input id="file" class="file" type="file" name="file" >
<input type="text" name="firstname" value="test">
<input type="submit" value="Submit">
</form>
@RequestMapping("/proxy/**")
@ResponseBody
public String mirrorRest(@RequestBody(required=false) String body, HttpMethod method, HttpServletRequest request, HttpServletResponse response){
if(!user_is_allowed())){
return "NO!!!!"
}
//TODO: proxy request to http://my-service-behide-firewall/mail
return result
}
我尝试使用restTemplate.exchange但是遇到了multipart / form-data
的问题有人知道如何管理此代理请求吗?
答案 0 :(得分:0)
在本文中,我们将探讨单独部署的前端应用程序和REST API之间的通信。
目标是解决浏览器的CORS和同源策略限制,并允许UI调用API,即使它们不共享相同的源。
我们基本上会创建两个独立的应用程序 - 一个UI应用程序和一个简单的REST API,我们将在UI应用程序中使用Zuul代理来代理对REST API的调用。
Zuul是Netflix基于JVM的路由器和服务器端负载均衡器。 Spring Cloud与嵌入式Zuul代理有很好的集成 - 我们将在这里使用它。