ASP.NET MVC 4 フレームワークで記述された Web サービスがあります。その基本的な CRUD 操作は REST 動詞にうまく対応していますが、追加する必要があるアクションが 1 つありますが、そうではありません。
整数型であることがわかっている ID を URL の末尾に渡す機能を指定する正しい方法は何ですか? 正しいルーター マップについてサポートが必要です。
考え?注: 私は 100% REST よりも WebAPI に関心があります。
URL の例
// ウィジェットのリストを取得 http://somedomain.com/api/widget // 特定のウィジェットを取得 http://somedomain.com/api/widget/1
//
POST
- 特定のウィジェットに対して特別なアクションを実行 - 昇格http://somedomain.com/api/widget/promote/1
これはそれを処理する正しい方法でしょうか?
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapHttpRoute(
name: "DefaultApiExtended",
routeTemplate: "api/{controller}/{action}/{id}"
);