私は 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 }
);
}
}