我正在努力找出支持以下简单方案所需的路由配置:
http..service/api/objects/key1/key2
我觉得我已经尝试了一切.
最大的问题是,无论何时看起来我已经破解了它,我都会发现它
http..service/api/objects/key1
被路由到无参数IQueryable Get.
解决方法
我想我已经钉了它.
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.
这个对我有用.我现在可以去吃午饭了.