メインメニューを開く

「ASP.NET Web API」を編集中

警告: ログインしていません。編集を行うと、あなたの IP アドレスが公開されます。ログインまたはアカウントを作成すれば、あなたの編集はその利用者名とともに表示されるほか、その他の利点もあります。

この編集を取り消せます。 下記の差分を確認して、本当に取り消していいか検証してください。よろしければ変更を保存して取り消しを完了してください。

最新版 編集中の文章
1行目: 1行目:
'''ASP.NET Web API'''とは、[[ASP.NET MVC 4]]で追加されたRESTfulなサービスを構築するためのフレームワークである。
+
'''ASP.NET Web API'''とは、[[ASP.NET MVC 4]]で追加される予定のRESTfulなサービスを構築するためのフレームワークである。
現在は[[ASP.NET MVC]]の一部ではなく完全に分離されて単独のフレームワークとして[[NuGet]]で提供されている。
 
  
 
== ASP.NET MVC と ASP.NET Web API ==
 
== ASP.NET MVC と ASP.NET Web API ==
 
=== ASP.NET Web API 1.0===
 
=== ASP.NET Web API 1.0===
[[ASP.NET Web API]]は、[[ASP.NET MVC 4]]のパッケージに同梱されている。ただし従来の[[ASP.NET MVC]]とはまったく別物である点に注意すること。
+
[[ASP.NET Web API]]は、[[ASP.NET MVC 4]]のパッケージに同梱されているだけであり、従来の[[ASP.NET MVC]]とはまったく別物である点に注意すること。
  
 
たとえば、[[アクションコントローラー]]の根底にある[[インターフェイス]]も[[ASP.NET MVC]]では[[IController]]だが([[ASP.NET]]無印と共通)、[[ASP.NET Web API]]ではまったく新規に登場した[[IHttpController]]となっている。また[[アクション]]の戻り値も[[ActionResult]]ではなく[[HttpResponseMessage]]となっているなど、「名前は似ているが全くの別物が用意されている」と認識しておく必要がある。
 
たとえば、[[アクションコントローラー]]の根底にある[[インターフェイス]]も[[ASP.NET MVC]]では[[IController]]だが([[ASP.NET]]無印と共通)、[[ASP.NET Web API]]ではまったく新規に登場した[[IHttpController]]となっている。また[[アクション]]の戻り値も[[ActionResult]]ではなく[[HttpResponseMessage]]となっているなど、「名前は似ているが全くの別物が用意されている」と認識しておく必要がある。
 
 
=== ASP.NET Web API 2.0===
 
=== ASP.NET Web API 2.0===
ASP.NET Web API 2.0以降では単体で動くようになり[[NuGet]]から簡単に環境を構築し利用できる。また[[Mono]]でも問題なく利用できるようになり[[Mac OS X]]上の[[Xamarin Studio]]での開発も可能になった。またXamarin Studio 6.0およびMono 4.4ではWeb APIを標準で利用できるようになり、ASP.NET系の新規プロジェクト作成時にWeb API利用の有無を選択するチェックボックスが搭載され、より手軽に利用できるようになっている。
+
ASP.NET Web API 2.0以降では単体で動くようになり[[NuGet]]から簡単に環境を構築し利用できる。また[[Mono]]でも問題なく利用できるようになり[[Mac OS X]]上の[[Xamarin Studio]]での開発も可能になった。
  
 
== RESTful ==
 
== RESTful ==
ASP.NET Web API では新しい強く型付けされた HTTP オブジェクトモデルを使って HTTP リクエストとレスポンスを直接操作できる。  
+
ASP.NET Web API では、新しい強く型付けされた HTTP オブジェクトモデルを使って HTTP リクエストとレスポンスを直接操作できる。  
  
 
[[ASP.NET MVC]]のデフォルトの[[ASP.NET MVC/ルーティング|ルーティング]]は以下のようになっている。
 
[[ASP.NET MVC]]のデフォルトの[[ASP.NET MVC/ルーティング|ルーティング]]は以下のようになっている。
33行目: 31行目:
 
どちらもcontroller(コントローラー名)とid(引数)をとるのは共通だが、ASP.NET Web APIではactionが無くなっており、[[REST]]のルール(HTTPリクエストメソッドの種類)に応じて強制的にアクションが決定する。従って、[[HttpPost]]などの属性をクラスやメソッドに付加する必要がない(「[[ASP.NET MVC/セレクター]]」も参照)。
 
どちらもcontroller(コントローラー名)とid(引数)をとるのは共通だが、ASP.NET Web APIではactionが無くなっており、[[REST]]のルール(HTTPリクエストメソッドの種類)に応じて強制的にアクションが決定する。従って、[[HttpPost]]などの属性をクラスやメソッドに付加する必要がない(「[[ASP.NET MVC/セレクター]]」も参照)。
  
===基本ルール ===
 
まずHTTPリクエストメソッドの種類がそのまま[[CRUD]]に対応している。
 
 
{|class="wikitable"
 
{|class="wikitable"
 
|-
 
|-
55行目: 51行目:
 
| idで指定されたデータを削除する。
 
| idで指定されたデータを削除する。
 
|}
 
|}
 
* GET /api/user/100
 
* userControllerクラスのGet(100)メソッドが呼ばれる
 
 
この他のメソッド名にすると明示的に指定するメソッドになる。
 
* GET /api/user/search?name=abc
 
* userControllerクラスのsearch(abc)メソッドが呼ばれる。
 
 
==その他==
 
*[[ASP.NET Web API/NUnitでユニットテストを行う]]
 
  
 
== 関連項目 ==
 
== 関連項目 ==
72行目: 58行目:
 
** [[ASP.NET MVC 3]]
 
** [[ASP.NET MVC 3]]
 
** [[ASP.NET MVC 4]]
 
** [[ASP.NET MVC 4]]
 
 
== 参考文献 ==
 
== 参考文献 ==
{{reflist}}
+
<references/>
 +
== 外部リンク ==
  
 
{{stub}}
 
{{stub}}
 
[[category: .NET Framework]]
 
[[category: ASP.NET]]
 
[[category: Xamarin.Studio]]
 

MonoBookへの投稿はすべて、他の投稿者によって編集、変更、除去される場合があります。 自分が書いたものが他の人に容赦なく編集されるのを望まない場合は、ここに投稿しないでください。
また、投稿するのは、自分で書いたものか、パブリック ドメインまたはそれに類するフリーな資料からの複製であることを約束してください(詳細はMonoBook:著作権を参照)。 著作権保護されている作品は、許諾なしに投稿しないでください!

このページを編集するには、下記の確認用の質問に回答してください (詳細):

取り消し 編集の仕方 (新しいウィンドウで開きます)

このページで使用されているテンプレート:

このページは 1 個の隠しカテゴリに属しています: