5
我可能有一個蹩腳的問題,但我在多個控制器路由在一個URL中掙扎了一下。所以我的問題是如何與這樣一個URL工作:路由中的多個控制器
GET http://foo.com/API/Devices/2/Parameters/2
其中最終device
和parameters
是所有控制器和數字標識。我有他們每個人的控制器,但如何處理他們,將他們路由到適當的控制器?
任何方向看?
UPDATE:
只是爲了澄清,我結束了使用,並遵循下面的答案的解決方案。
路由片段:
config.Routes.MapHttpRoute(
name: "DeviceCommandsControllerHttpRoute",
routeTemplate: "api/devices/{deviceId}/commands/{id}",
defaults: new { controller = "devicecommands", id = RouteParameter.Optional }
);
控制器片段:
[HttpGet]
public DeviceCommand GetById(int id, int deviceId)
{ ... }
最後的網址:
GET http://localhost:49479/api/Devices/2/Commands/1