[解決済み] ASP.NETでWebAPIやMVCを使ってJSONを返す。
質問
私は、クライアントスクリプトを多用するASP.NET MVCアプリケーションを構築しています。
私の理解では、どちらも Web APIコントローラ と MVCコントローラ はJSONを返すことができます。
私のシナリオを考えると、私は Web APIコントローラ または MVCコントローラ ?
どのように解決するのですか?
Web API コントローラーは、MVC アプリケーションだけでなく、任意の ASP.NET アプリケーションで作成およびホストすることができます。したがって、Web API を作成する明白な理由は、MVC フロントエンドがない場合です (たとえば、会社/組織によってホストされている古典的な RESTful Web サービスなど)。
MVCコントローラは一般的にMVCフレームワークに依存します。デフォルトのテンプレートやコミュニティや仲間によって行われたほとんどの作業を見ると、ほとんどすべてのMVCコントローラがビューを念頭に置いて実装されていることに気づくでしょう。
個人的には、View()で対応するつもりならMVCコントローラを使い、特定のViewに依存しないものはWebAPIを使うことにしています。
もちろん注意点はありますが、一般的に言って、MVCのモデルバインディングの振る舞いを必要とせず、サービスがデータ中心で、操作がデータ中心(例えばCRUD操作)であれば、「モデル-ビューコントローラ」ではなく「Web APIコントローラ」を使うのがよいでしょう。逆に、あなたの操作がビュー中心である場合(例えば、ユーザーにユーザー管理ページを配信する)、またはMVCのモデルバインディングが「ajaxパーシャル」を生成する必要がある場合(非常にまれ)、代わりにMVCコントローラが必要になります。
個人的には、JSONベースのRESTfulクライアントを駆動するためにWeb APIコントローラを使用し、基本的なブラウザのルーティングとSPAの配信を処理するためにMVCコントローラを使用しています。
関連
-
[解決済み] 正しいJSONコンテンツタイプは何ですか?
-
[解決済み] JSONでコメントを使用することはできますか?
-
[解決済み] なぜGoogleはJSONレスポンスにwhile(1);を前置するのでしょうか?
-
[解決済み] cURLでJSONデータをPOSTするにはどうすればよいですか?
-
[解決済み] JavaScriptでJSONをきれいに印刷する
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
-
[解決済み] RESTful WebServiceにファイルや関連データをJSONで投稿する。
-
[解決済み] ASP.NET MVCにおけるApiControllerとControllerの相違点
-
[解決済み] 既存のASP.NET MVC 4 WebアプリケーションのプロジェクトにWeb APIを追加するにはどうすればよいですか?
-
[解決済み] JSONファイルのMongoimport
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] YAMLとJSONの違いは何ですか?
-
[解決済み] バイナリデータをJSON文字列で。Base64より優れたもの
-
[解決済み] JSONオブジェクトをTypeScriptのクラスにキャストする方法を教えてください。
-
[解決済み] Node.js プロジェクトの package.json ファイルを自動的にビルドする方法はありますか?
-
[解決済み] ASP.NET MVCにおけるApiControllerとControllerの相違点
-
Ext.grid.EditorGridPanelを使用する際に発生する問題点
-
[解決済み】GoのJSONマーシャルでJSONのキー名を小文字にする
-
[解決済み] どのようにjqを使用して2つのファイルから2つのJSONオブジェクトをマージするには?
-
[解決済み] bashの変数をjqに渡す
-
[解決済み] GoでJSONを部分的にマップにアンマーシャルする