有人可以用我的 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。
如果问题与两个整数有关,我可以将其中一个参数更改为字符串,但是,我更愿意理解问题并让它发挥作用。