8

ASP.NETWebAPIは初めてです。誰か教えてもらえますか

  • なぜWebAPIが必要なのですか?
  • MVCのRESTフルAPIとどのように異なりますか?
  • MVC4 Web APIをいつ使用するのですか?
  • MVCのRESTfulAPIとは何ですか
4

3 に答える 3

12

WebAPIはMVCに基づいていますが、微妙な違いがいくつかあります。WebAPIはMVCとは別のものであり、MVCを必要としないことを理解する必要があります。WebAPIは個別にインストールでき、デフォルトのMVCテンプレートからアンインストールできます。

確かに、MSはWebAPIをMVCコントローラーに直接組み込むことができましたが、APIコントローラーは実際には要求と応答を処理する方法が異なるため、MVCコントローラーから分離しておくことを選択しました。

WebAPIで実行できることで、MVCでは実行できない(または少なくともそれほど簡単ではない)例には、次のものがあります。

  • コンテントネゴシエーション
    • これにより、呼び出し元のクライアントは、XMLやJSONなど、データが返される形式を選択できます。
  • ODataのサポート
    • これにより、呼び出し元は、サービスメソッドが特にサポートしなくても、サーバーで結果を「フィルタリング」できます。たとえば、結果を名で並べ替える場合は、ODataクエリパラメータを指定するだけで実行できます。

WebAPIは、データ結果セットを処理するための多くの機能を提供します。MVCはそのような機能を提供しません。

Ajaxリクエストや、WCFの複雑さを必要としないWebサービスベースのリクエストなどにWebAPIを使用する傾向があります。

RESTful APIは、MVCまたはWebAPIに固有のものではありません。これらは、サービスでHTTPリクエストを設計する方法の単なる哲学です。本当にたくさんありますが、私はそれには入りません。

于 2013-03-16T08:14:42.430 に答える
1

WCFチームはMicrosoftでMVCチームと統合されました。WCFはなくなることはありませんが、単純なRESTFULサービス呼び出しの場合、MVCコントローラーは天国で行われた一致であり、MVCコントローラーへの変更により非常に簡単なWebAPIが可能になりました。

私たちの多くはWCFが比較的簡単だと感じていますが、WCFを恐れている、および/またはそれを学ぶ時間がない/時間がないという人もいます。引き続きASMXを使用します。b。まだ採用されていないサービス、または現在WebAPIを使用しているサービスはcです。彼らが安らかなWebサービスを非常に簡単に立ち上げて実行できることに非常に興奮しています。

つまり、実際には、快適さのレベル、適応、変更の能力の問題であり、WebAPIがその役割を果たします。WCFは、RESTだけでなく、SOAPを実行するためのすべてのバインディングと機能を備えた高度な構成を備えているため、WCFを置き換えることはできません。RESTだけでなく、多くのアプリケーションでSOAPプロトコルが必要です。

于 2013-03-16T07:49:15.273 に答える
1

MVCは、Webブラウザークライアントに情報を提供するように最適化されています。クライアントが他のものである場合、WebAPIは長期的にあなたの生活を楽にします。

Web APIは、Webスタックをゼロから書き直したものです。コアでは、MVCがその上に構築されている12年前のインフラストラクチャよりもはるかにクリーンで柔軟性があります。Web APIには、MVCと同じレベルのツール、アドオン、プラグインがまだありませんが、それは実現するでしょう。

于 2013-03-16T16:41:50.670 に答える