MVC4 WebAPI 프로젝트에서 라우팅을 구성하려고합니다.쿼리 문자열 매개 변수 이름을 기반으로하는 라우팅
내가 이름 정도 등 자신의 유형에 따라 제품을 검색 할 수 있도록하려면 :
/api/products?name=WidgetX
- WidgetX /api/products?type=gadget
라는 이름의 모든 제품을 반환 - 라우트는
유형 가젯의 모든 제품을 반환
config.Routes.MapHttpRoute(
name: "Get by name",
routeTemplate: "api/products/{name}",
defaults: new { controller = "ProductSearchApi", action = "GetProductsByName", name = string.Empty }
);
config.Routes.MapHttpRoute(
name: "Get by type",
routeTemplate: "api/products/{type}",
defaults: new { controller = "ProductSearchApi", action = "GetProductsByType", type = string.Empty }
);
문제는 쿼리 문자열 매개 변수의 이름이 무시되는 것처럼 보이므로 첫 번째 경로는 항상 사용되는 것이므로 쿼리 문자열 매개 변수의 이름입니다. 경로를 수정하려면 어떻게해야합니까?
RouteParameter 날 물론 요구 사항을 충족하지 않을 제품/ABC /과 같은 URL을 사용하여 만들 것입니다. 쿼리 문자열 매개 변수를 사용할 수 있어야합니다. – rickythefox