【发布时间】:2019-01-06 14:22:01
【问题描述】:
我无法使用 ASP.Net Web API 2 控制器访问我在 MVC 项目中编写的 API。
localhost:57323/api/billpayment/getbillers/10 有效,但 localhost:57323/api/billpayment/getbillers 无效。
WebAPI.config
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
Global.asax
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
GlobalConfiguration.Configure(WebApiConfig.Register);
}
}
【问题讨论】:
-
doesn't works是什么意思?你得到404? 500? -
@trailmax 得到 404
-
您还有其他
GetBillers方法吗? -
@Liam 没有其他 GetBillers 方法
-
尝试从 global.asax 中隐藏
RouteConfig.RegisterRoutes(RouteTable.Routes);然后测试一次
标签: c# asp.net-web-api asp.net-web-api2 asp.net-web-api-routing