0

これで結構です:

    GlobalConfiguration.Configuration.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{action}",
        defaults: new { id = System.Web.Http.RouteParameter.Optional });

しかし、着信リクエストを ApiFolder フォルダーのクラスにリダイレクトしたい ここに画像の説明を入力

4

2 に答える 2

0

コメントに記載されているように、ケネスの提案は機能しません。

ただし、IHttpControllerSelector の独自の実装を作成し、API ルートをマップするときにのみ割り当てることができます。この記事の実装をベースとして使用し、それを変更しました。

次に、次のように WebApiConfig でルートをマッピングした後、デフォルトのセレクターを置き換えるという小さな問題です (CustomControllerSelector は私の実装です)。

    public static void Register(HttpConfiguration configuration)
    {
        var apiRoute = configuration.Routes.MapHttpRoute(
            name: "API Default",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional, controllerNamespace = "api" }
        );

        configuration.Services.Replace(typeof(IHttpControllerSelector), new CustomControllerSelector(configuration));
    }
于 2014-02-19T22:06:20.247 に答える
0

ルート構成で名前空間を指定する必要があります。

var r = GlobalConfiguration.Configuration.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{action}",
        defaults: new { id = System.Web.Http.RouteParameter.Optional },
);
if( r.DataTokens == null ){
  r.DataTokens = new RouteValueDictionary();
}
r.DataTokens["Namespaces"] = new string[] {"ApiFolder"};
于 2013-05-17T12:57:42.887 に答える