1

.NET Web API を使用して REST サービスを作成しようとしています。マップしようとしている URL は

/api/<controller>/<videoId>/chapters

次のようなルート設定があります。

RouteTable.Routes.MapHttpRoute(name: "Route1",
  routeTemplate: "api/video/{id}/{action}",
  defaults: new { controller = "Video", action = "Chapters"});

コントローラーで次の関数をマップします。

[HttpGet]
[ActionName("Chapters")]
public string GetChapters() {
  return "get chapters";
}

<video_id>すべてが正しくマップされますが、GetChapters 関数内から URLのパラメーターにアクセスするにはどうすればよいですか?

具体的な例として、URL は次のようになります。

http://localhost/api/video/1/chapters

この1で、コントローラーの後にパラメーターにアクセスするにはどうすればよいですか?

4

1 に答える 1

1

Web サービス メソッドにパラメーターを追加するだけです。ASP.NET Web API によって、クエリ文字列パラメーターまたはルートで定義されたパラメーターidに自動的にブラインドされます。{id}

public string GetChapters(int id) {
    return "get chapters by video id";
}

Web API では[HttpGet][ActionName]'Get' で始まる名前のアクション メソッドは GET リクエスト ('Post' から POST など) にマップされ、メソッド名の他の部分 ('Chapters') はアクション名として扱われます。

于 2012-12-23T08:47:39.730 に答える