2017-10-24 6 views
0

問題があります。ファイアウォールの背後にあるエンドポイントにフォームを送信するプロキシを試行しています。私のSpringアプリケーションだけがアクセスできます。multipart/form-data Spring Controllerを外部エンドポイントに渡す

私はプロキシパス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と試みたが、マルチパート/フォームデータに問題があった

誰かがこのプロキシリクエストを管理する方法を知っていますか?

答えて

0

は、この記事ではThis Link

を参照してください、我々は、フロントエンド・アプリケーションおよび個別に配備されているREST APIの間の通信を探っていきます。

目的はCORSとブラウザの同じ原点ポリシーの制限を回避し、UIが同じ起点を共有していなくてもAPIを呼び出せるようにすることです。

UIアプリケーションと単純なREST APIの2つのアプリケーションを基本的に作成し、UIアプリケーションでZuulプロキシを使用してREST APIへの呼び出しをプロキシします。

Zuulは、NetflixによるJVMベースのルータとサーバー側のロードバランサです。そしてSpring Cloudは組み込みのZuulプロキシとの素敵な統合を持っています。これはここで使用するものです。

+0

どうもありがとうございますが、ユーザーがこのパスにアクセスすることが許可されているかどうかを確認するにはどうすればよいですか? – splitiii

+0

@splitiiiこれはあなたの質問の前提の1つでした:「私のSpringアプリケーションだけがそれにアクセスできます。 – jlumietu

関連する問題