ここで予備的でやや似た質問をしました。
ここで、Controller メソッド/アクション内の RESTful URL 内から値にアクセスする方法を知る必要があります。
WebApiConfig で次のように設定されたルートを持つ PlatypusController という名前のコントローラーがあります。
config.Routes.MapHttpRoute(
name: "ReportsApi",
routeTemplate: "api/{controller}/{unit}/{begindate}/{enddate}",
defaults: new { enddate = RouteParameter.Optional }
);
PlatypusController.cs には次のコードがあります。
public void Post()
{
int i = 2;
}
もちろん、「int i = 2」はナンセンスです。メソッドにブレークポイントを設定して、到達したことを確認できるように、そこに配置しました。「POST」を選択して、Postman に次の URL を入力したときです。
http://localhost:52194/api/Platypus/gramps/201509
(これを呼び出すと、アプリはポート 52194 で実行されます)
しかし、何か価値のあることを達成するには、URL から「おじいちゃん」と「201509」が必要です。どうすればそれらにアクセスできますか? 次のように Post メソッドに追加する必要がありますか?
public void Post(string unit, string begindate)
{
DoSomething_Anything(unit, begindate);
}
...または、HttpRequest オブジェクトなどから取得する他の方法はありますか?