差分
'''ASP.NET Web API'''とは、[[ASP.NET MVC 4]]で追加される予定のRESTfulなサービスを構築するためのフレームワークである。で追加されたRESTfulなサービスを構築するためのフレームワークである。現在は[[ASP.NET MVC]]の一部ではなく完全に分離されて単独のフレームワークとして[[NuGet]]で提供されている。
== ASP.NET MVCとASPMVC と ASP.NET Web API ===== ASP.NET Web APIは、ASPAPI 1.0===[[ASP.NET Web API]]は、[[ASP.NET MVC 4のパッケージに同梱されているだけであり、従来の4]]のパッケージに同梱されている。ただし従来の[[ASP.NET MVC]]とはまったく別物である点に注意すること。
== RESTful ==
ASP.NET Web API では、新しい強く型付けされた では新しい強く型付けされた HTTP オブジェクトモデルを使って HTTP リクエストとレスポンスを直接操作できる。
[[ASP.NET MVC]]のデフォルトの[[ASP.NET MVC/ルーティング|ルーティング]]は以下のようになっている。
どちらもcontroller(コントローラー名)とid(引数)をとるのは共通だが、ASP.NET Web APIではactionが無くなっており、[[REST]]のルール(HTTPリクエストメソッドの種類)に応じて強制的にアクションが決定する。従って、[[HttpPost]]などの属性をクラスやメソッドに付加する必要がない(「[[ASP.NET MVC/セレクター]]」も参照)。
===基本ルール ===
まずHTTPリクエストメソッドの種類がそのまま[[CRUD]]に対応している。
{|class="wikitable"
|-
| idで指定されたデータを削除する。
|}
* GET /api/user/100
* userControllerクラスのGet(100)メソッドが呼ばれる
この他のメソッド名にすると明示的に指定するメソッドになる。
* GET /api/user/search?name=abc
* userControllerクラスのsearch(abc)メソッドが呼ばれる。
==その他==
*[[ASP.NET Web API/NUnitでユニットテストを行う]]
== 関連項目 ==
** [[ASP.NET MVC 3]]
** [[ASP.NET MVC 4]]
== 参考文献 ==
{{stub}}
[[category: .NET Framework]]
[[category: ASP.NET]]
[[category: Xamarin.Studio]]