webapi の GET メソッドで空白を埋めるのを手伝ってくれませんか。パラメータを渡さずにすべての結果を取得したい。int を渡して単一の結果を取得し、名前付きパラメータを渡して typeId / zoneId またはその両方でフィルタリングしますが、これを機能させるのに苦労しています。
TimeController : ApiController
// Time/
//Time/1
//Time/typeId=1
//Time/zoneId=1
Time/typeId=1&zoneId=1
私が得た最も近いものは
グローバル
RouteTable.Routes.MapHttpRoute(name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = System.Web.Http.RouteParameter.Optional}
);
RouteTable.Routes.MapHttpRoute(name: "TemplateTimeApi",
routeTemplate: "api/{controller}/{typeId}/{zoneId}",
defaults: new {typeId = RouteParameter.Optional, zoneId = RouteParameter.Optional }
);
コントローラ
List<TimeView> Get(int typeId, int? zoneId = null)
TimeView Get(int id)
しかし、パラメータなしで404を取得します。
問題が 2 つの整数にある場合は、パラメーターの 1 つを文字列に変更できますが、問題を理解して機能させることをお勧めします。