5
불충분 한 질문이있을 수 있지만 하나의 URL에 여러 컨트롤러를 라우팅하는 데 어려움을 겪고 있습니다. 그래서 제 질문은이 같은 URL로 작업하는 방법입니다 :라우팅에 여러 컨트롤러가 있음
결국device
및
parameters
모든 컨트롤러와 숫자가
GET http://foo.com/API/Devices/2/Parameters/2
는 IDS 있습니다. 나는 그들 각각을위한 컨트롤러를 가지고 있지만 그것을 어떻게 처리하고 적절한 컨트롤러로 라우트합니까?
어떤 방향으로보고 싶습니까?
UPDATE :
그냥 설명 내가 사용 결국 아래의 답을 다음과 솔루션에 대한.
라우팅 니펫을 :
[HttpGet]
public DeviceCommand GetById(int id, int deviceId)
{ ... }
마지막으로 URL :
config.Routes.MapHttpRoute(
name: "DeviceCommandsControllerHttpRoute",
routeTemplate: "api/devices/{deviceId}/commands/{id}",
defaults: new { controller = "devicecommands", id = RouteParameter.Optional }
);
컨트롤러 니펫을
GET http://localhost:49479/api/Devices/2/Commands/1