0

我为 Web Api 定义了一个路由,如下所示

 routes.MapHttpRoute(
                name: "SearchApi",
                routeTemplate: "api/search/{controller}-{seopath}",
                defaults: new { seopath = RouteParameter.Optional }
            );

            routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

但是,当我从 Visual Studio 运行它并转到http://localhost:50356/api/search/jobs-in-Bangalore 时,我收到 404 错误消息“找不到与名为 'jobs-in 的控制器匹配的类型” ’。”

在书中,Professional Asp.Net MVC 1.0, pg 207 {title}-{author} 被作为有效的路由 url 给出,那么为什么将“jobs-in”解释为控制器而不是“jobs”?

4

1 回答 1

1

显然这场比赛是贪婪的。为什么不定义您的路线,例如:

routeTemplate: "api/search/{controller}/{seopath}"
于 2012-04-17T20:34:52.407 回答