[解決済み] MVC 5 プロジェクトと Web Api プロジェクトの違い
質問
には初めてです。
ASP.NET MVC
と
Web API
と基本を押さえようとしています。VS 2013のプロジェクトテンプレートは、以下のような名前になっています。
MVC
,
Web API
と
Both 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
関連
-
[解決済み] 2つのリストを結合する
-
[解決済み] [Solved] .NETでスレッドの終了を待つには?
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] C#のconstとreadonlyの違いは何ですか?
-
[解決済み] フィールドとプロパティの違いは何ですか?
-
[解決済み] 2つの日付の差(日数)を計算する?
-
[解決済み] SelectとSelectManyの違い
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
-
[解決済み] キーワード「ref」と「out」の違いは何ですか?
-
[解決済み] ASP.NET MVCにおけるApiControllerとControllerの相違点
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] メンバー '<メンバー名>' にインスタンス参照でアクセスできない
-
[解決済み】文字列が有効な DateTime " format dd/MM/yyyy " として認識されなかった。
-
[解決済み】パディングが無効で、削除できない?
-
[解決済み】"The ConnectionString property has not been initialized "を修正する方法
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み】Linq 構文 - 複数列の選択
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】URLから画像をダウンロードする方法
-
[解決済み] ASP.NET WebApiとMVCの比較?[クローズド]