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に移動すると、「'jobs-in' という名前のコントローラーに一致するタイプが見つかりませんでした」というメッセージとともに 404 エラーが発生します。 '."

本では、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 に答える