1. ホーム
  2. c#

[解決済み] MVC 5 プロジェクトと Web Api プロジェクトの違い

2022-06-14 21:12:06

質問

には初めてです。 ASP.NET MVC Web API と基本を押さえようとしています。VS 2013のプロジェクトテンプレートは、以下のような名前になっています。 MVC , Web APIBoth of them together .

チュートリアルを見て、MVC単体でも、Web API Templateと組み合わせても、APIを作れることを知りました。

では、これらを踏まえて、どのような違いがあるのでしょうか。 建築 使用方法 ?

どのように解決するのですか?

基本的には Web API コントローラは MVC コントローラを使用しています。 HttpMessageResponse をレスポンスの基本型として使用し、代わりに ActionResponse . 他のほとんどの点では同じです。プロジェクトタイプ間の主な違いは MVC Application のようなウェブ特有のものを追加することです。 CSS , JavaScript ファイルなど、Web サイトに必要なリソースで、API には不要なもの。

MVCは、Webサイトを作成する際に使用します。この場合 Controllers を返すのが普通です。 View (すなわち HTML レスポンス) を返します。一方、Web APIは、通常、他のアプリケーションによって消費されるように作られています。もし、他のアプリケーションがあなたのデータや機能にアクセスすることを許可したい場合、このアクセスを容易にするためにWeb APIを作成することができる。例えば、Facebookは、アプリ開発者がアプリを使用しているユーザーに関する情報にアクセスできるようにするためのAPIを持っています。Web APIは、必ずしも一般に公開する必要はない。独自のアプリケーションをサポートするためにAPIを作成することもできる。例えば、私たちはMVCウェブサイトのAJAX機能をサポートするために、Web APIを作成しました。

Microsoft は、さまざまなテンプレートを提示する方法を変更しました。現在では、異なるプロジェクトの種類に対して異なるテンプレートを使用する代わりに、開発者が必要に応じて同じプロジェクト内で ASP.NET テクノロジーを混在させることを奨励しています。Microsoft はこれを vNext .

UPDATEです。 ASP.NET Core では、Web API が MVC 6 のプロジェクトタイプに統合され、その中で ApiController クラスに統合され Controller クラスに統合されました。詳細はこちら。 https://wildermuth.com/2016/05/10/Writing-API-Controllers-in-ASP-NET-MVC-6