2017-01-24 12 views
3

私はMicroservicesを中心に学校のためにいくつかの作業を行っています。.NET Core API Gateway

私はアーキテクチャ上のコンセプトを持っていますが、披露するには実装が必要です。私はクライアントとしてangular2を使用しています。.NETコアAPIゲートウェイを使用して、要求を別のサービスにディスパッチしたいと考えています。

これにはどのような方法が最適ですか?私はRx.Netの使用については赤いものですが、それに続く具体的な例や実装はありません。

.NETコアにAPIゲートウェイを実装するにはどうすればよいですか。

+0

スタックオーバーフローに関するライブラリの推奨を求めないでください。 [リンク](http://stackoverflow.com/help/dont-ask) – galister

+0

私はそれを編集します、ありがとう! – TanguyB

+0

私たちはどんな種類のAPIについて話していますか? HTTP? – galister

答えて

0

着信APIコールをリッスンするサーバーが必要です。 HttpListener

着信要求のハンドラの内部では、要求を調べて、API呼び出しをどこに中継する必要があるかを判断します。

次に、HttpClientのようなものを使用して、実際のAPIエンドポイントに別の要求を行い(元の要求をできるだけ模倣する)、その応答をユーザーに返します。

すべてがリスナーのリクエストハンドラに含まれていて、元のリクエストに対する応答は実際のAPIからの応答です。

HttpListenerのMSDNドキュメントを参照してください。

も良い読み取り:Handling multiple requests with C# HttpListener

+0

HttpListenerは、.NETコアでのみ実装されているノートであり、Windows用であるため注意が必要です。 – TanguyB

4

これは、か助けていない場合がありますが、私は現在、.NETのコア内のAPIゲートウェイを構築しています。

https://github.com/TomPallister/Ocelotにあります。

コードはちょっとロープですが、今は少数の人々が作業していますので、時間の経過とともに改善することができれば幸いです。

+0

あなたは答えがいいですね。しかし、この質問はStackOverflowのオフトピックです。「本、ツール、ソフトウェアライブラリ、チュートリアル、その他のオフサイトリソースを推薦するか検索するための質問は、オピニオン回答とスパムを集める傾向があるため、 。 –

+0

私はオセロットを使ってみようとしていますが、私はそれを動作させることができません:(私は新しいプロジェクトを作成し、すべてのライブラリを更新し、オセロットをインストールし、リルートを設定します。 – Piyey