web-dev-qa-db-ja.com

ASP.Net MVC4の「Web API」とは正確には何ですか?

Web APIとは何か知っています。
APIを複数の言語で記述しました(MVC3を含む)。
私はASP.Netでもよく練習しています。
MVC4に「Web API」が含まれていることを発見しました。ビデオの例を調べないと、それが何であるかについての適切な説明を見つけることができません。
私の過去の経験から、Microsoftテクノロジー(特にASP.Net)は、単純なコンセプトを採用し、すべてを「より簡単」にすることを目的とする無用のオーバーヘッドの束にラップする傾向があります。
MVC4のWeb APIが正確に何であるかを誰かに説明してもらえますか?なぜ必要なのですか?独自のAPIを作成できないのはなぜですか?

15
James P. Wright

ASP.NET Web APIは、RESTまたはRPCに関係なく[〜#〜] http [〜#〜]サービスを構築するための「意見のない」フレームワークです。これは、MicrosoftによるRFC 2616(HTTP仕様)の最適な実装です。

確かに独自のAPIを作成できますが、ASP.NET Web APIを使用できます。

  • レゴのようなモジュールをHTTPパイプラインに追加できるようにする ロシアの人形 モデルに基づいて構築されています
  • すべての一般的なヘッダーが(名前の値だけでなく)強く型付けされ、それらの解析に役立つように、HTTPをファーストクラスにします。
  • ASP.NET(IIS)ホスティングまたはセルフホスティングの両方が可能
  • コンテンツネゴシエーション、メディアタイプなどをサポートします。
  • 上から下に非同期です
  • HttpClientでクライアントに同様のアプローチを使用します
16
Aliostad

要するに:ASP.NET Web APIが作成中REST afirst class citizen in .NET、WCFが実際に採用できませんでした。ご存知かもしれませんが、ASP.NET Web APIはフレームワークfor building web APIs .NET Frameworkの上。

Web開発者が直面した最大の不満の1つは、WCFでの無限の構成に直面することでした。つまり、WCFは素晴らしいですが、REST WCF Web API framework 。RESTスターターキットと呼ばれるものがありましたが、最終的には死んでしまいました。

ただし、ASP.NET Web APIは、ブラウザーやモバイルデバイスなどの幅広いクライアントに到達するHTTPサービスを簡単に構築できる次世代のフレームワークです。これは、.NET FrameworkでRESTfulアプリケーションを構築するための理想的なプラットフォームです。詳細と優れたブログ投稿については、 ASP.NET Web APIブロガーページ にアクセスしてください。

6
Yusubov

Microsoftからの新しい Web API は、その名前がWebアクセス可能なAPIの作成に関するすべてを示唆しているため、RESTに傾倒しています。

Rick Strahlは最近 それについてブログに書いた で、MVCとWeb APIをいつ使用するかについての良い分析があります。

ビルトインコンテンツネゴシエーション、いくつかのビルトインフォーマットなど。

6
Oded

ASP.NET Web APIは、ブラウザーやモバイルデバイスを含む幅広いクライアントに到達するHTTPサービスを簡単に構築できるようにするフレームワークです。

ASP.NET Web APIは、.NET FrameworkでRESTfulアプリケーションを構築するための理想的なプラットフォームです。

http://www.asp.net/web-api


編集:

具体的には、ASP.NET Web APIには次のものが含まれます。

  1. 合理化されたASP.NETパイプライン IISでサービスをホストすることを選択した場合、オーバーヘッドが削減されます。
  2. HttpClient これにより、クライアントがWeb APIにフックしやすくなります。
1
Jim G.