【发布时间】:2015-08-09 12:52:55
【问题描述】:
我正在尝试获取用于 getJSON 调用的 API 控制器的 URL。我在堆栈上看到的重复答案不起作用:
var elements = [];
$.getJSON("api/MySweetApi/Get", null, function(data) {
$.each(data, function(index, element) {
elements.push(element.ReferenceNumber + " - " + element.Description);
});
});
我的 ApiController 位于~/Controllers/api。
是否有处理指向 MVC api 控制器的链接的“最佳实践”?在一个完美的世界中,答案将挂钩到路由引擎,这样如果我们决定将我们的 api 控制器移动到 ~/api 它就可以工作,而无需我们进行任何更改。
我的 WebApiConfig 是:
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
【问题讨论】:
标签: jquery ajax asp.net-mvc-4 asp.net-web-api asp.net-web-api-routing