我正在努力制定支持以下简单方案所需的路由配置:
http..service/api/objects/key1/key2
我觉得我已经尝试了一切。
最大的问题是,只要看起来我已经破解了它,我就会发现
http..service/api/objects/key1
被路由到无参数IQueryable Get。
答案 0 :(得分:4)
我想我已经钉了它。
routes.MapHttpRoute(
name: IQueryableObjectsApiRouteName,
routeTemplate: "api/objects",
defaults: new { controller = "objects" }
);
routes.MapHttpRoute(
name: ObjectsApiRouteName,
routeTemplate: "api/objects/{siteId}/{assetId}",
defaults: new { controller = "objects", siteId = "", assetId = "" }
);
我需要使用复合键为每个控制器设置两个显式路由。键的默认值为“”,我在控制器中检测到并抛出自己的404。
它对我有用。我现在可以去吃午饭了。