2

私は Web API 2 を使用していますが、既存の API 呼び出しが既にプルアップされているようですが、私が持っている各領域のすべての呼び出しが複製されています。たとえば、3 つの領域があり、そのうちの 1 つに次のような API 呼び出しがあるとします。

public IList<string> GetStringList(string id)
    {
        //do work here...
        return new List<string>{"a","b","c"};
    }

3 つの領域がある場合、Web API ヘルプ ページには次のように表示されます。

GET area1/api/MyAPIController/GetStringList/{id}

GET area2/api/MyAPIController/GetStringList/{id}

GET area3/api/MyAPIController/GetStringList/{id}

MyAPIController は「area2」にのみ存在します。これが 3 回表示されるのはなぜですか?どうすれば修正できますか? それが役立つ場合、area2の私のエリア登録は次のとおりです。

public class Area2AreaRegistration : AreaRegistration
{
    public override string AreaName
    {
        get
        {
            return "Area2";
        }
    }

    public override void RegisterArea(AreaRegistrationContext context)
    {
        context.MapRoute(
            "Area2_default",
            "Area2/{controller}/{action}/{id}",
            new { action = "Index", id = UrlParameter.Optional }
        );

        context.Routes.MapHttpRoute(
    name: "Area2_ActionApi",
    routeTemplate: "Area2/api/{controller}/{action}/{id}",
    defaults: new { id = RouteParameter.Optional }
);

    }
}
4

1 に答える 1