2016-06-01 5 views
2

web apiコントローラと角型クライアントを持つASP.NETアプリケーションがあります。私は次の方法でウェブAPIへの呼び出し:web apiを使用してすべての呼び出しを別のアプリケーションにリダイレクトする方法

this.$http.get('api/menu/get', { 
       params: {} 
      }) 

だから私はhttp://myApp/api/menu/getのような絶対パスに呼び出します。そして、私は別のWebアプリケーションからいくつかのデータを取得する必要があります。例:http://secondApp/reportsApi/reports/get

secondApp Web APIからデータを取得するにはどうすればよいですか? 私が知っているように、私はちょうど

this.$http.get('http://secondApp/reportsApi/reports/get', { 
       params: {} 
      }) 

のようなUIから絶対パスを呼び出すことができます。しかし、それは良い決断のように見えていません。これは「secondApp」と「て、myApp」から呼び出すredicrect

this.$http.get('reportsApi/reports/get', { 
       params: {} 
      }) 

そして、いくつかの方法で、私は次のように呼び出しを行うことが習慣。

+0

なぜあなたは、このクライアント側をしますか?サーバーにプロキシパスを設定する必要があります。 –

+0

申し訳ありませんが、私は説明の中でどこか間違っているかもしれませんが、まさに私がやりたいことですが、私は方法がわかりません。 「reportsApi/reports/get」のようなコールだけをリダイレクトするために、サーバーでプロキシパスを設定するにはどうすればよいですか? –

答えて

1

ここでは、組み込みのIIS書き換えモジュールの使用方法について説明します。
http://www.iis.net/learn/extensions/url-rewrite-module/creating-rewrite-rules-for-the-url-rewrite-module

あなたのweb.configファイルでこのようなものに終わるだろう:

<system.webServer> 
    <rewrite> 
    <rules> 
     <rule name="Redirect Reports Api" stopProcessing="true"> 
     <match url="^reportsApi/reports/get" /> 
     <action type="Rewrite" url="http://secondApp/reportsApi/reports/get" /> 
     </rule> 
    <rules> 
    <rewrite> 
<system.webServer> 
関連する問題