我正在做一个MVC5 Web API应用程序。我正在做一个简单的例子。
创建Web Asp.Net Web应用程序。
选择Empty和API。
然后我添加一个名为Home
的Api2控制器,并添加一个名为Get()
的简单方法
方法Get()
看起来像这样。
public string Get()
{
return "Hello World";
}
我运行应用程序并完成URL。
http://localhost:56464/Home/Get
出错了
错误HTTP 404.0 - 未找到
我测试更改WebApiConfig
添加
{action}
但我得到同样的错误。
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
当我启动应用程序http://localhost:56464/
时,我收到此错误
错误HTTP 403.14 - 禁止
我总是从Visual Studio 2013运行应用程序。我没有将它发布到IIS
缺少什么?
答案 0 :(得分:0)
有一些问题。
首先,网络API路由模板是
api/{controller}/{action}/{id}
请注意api
前缀。
这意味着您必须浏览
http://localhost:56464/api/Home/Get
http://localhost:56464/
不会工作,因为该路由具有api
前缀。所以禁止错误是该地址托管的默认值。
为了能够在问题中使用您需要的URL,您需要更改路径模板以匹配您想要的模板。