繁体   English   中英

将多部分/表单数据Spring Controller传递给外部端点

[英]Pass multipart/form-data Spring Controller to an external endpoint

我有个问题。 我试图代理传递我的表单提交到防火墙后面的终结点。 只有我的Spring Application可以访问它。

我想代理传递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有问题

有人知道如何管理此代理请求吗?

参考此链接

在本文中,我们将探讨前端应用程序与REST API(分别部署)之间的通信。

目的是解决CORS和浏览器的“相同来源策略”限制问题,并允许UI调用API,即使它们不共享相同的来源。

我们基本上将创建两个单独的应用程序-一个UI应用程序和一个简单的REST API,并且将在UI应用程序中使用Zuul代理来代理对REST API的调用。

Zuul是Netflix提供的基于JVM的路由器和服务器端负载平衡器。 而且,Spring Cloud与嵌入式Zuul代理实现了很好的集成-我们将在这里使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM