我正在使用Web API 2,它似乎已經調用了我現有的API調用,除非它複製了每個區域的所有調用。例如,說我有3個區域,並在其中的一個我有一個API調用,看起來像:Web 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次,我該如何解決?如果有幫助,我對區2區登記爲:
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 }
);
}
}
想到這個問題可能有一些做http://devillers.nl/getting-webapi-and-areas-to-play-nicely /,但這並沒有最終導致修復問題 – Phil 2015-05-01 14:20:35
我看到了同樣的問題......你能弄明白嗎? – Dave 2015-05-11 21:59:17
不,還沒有答案。希望能儘快拿出一些東西 – Phil 2015-05-11 22:45:50