Asp.net mvc 4 404尝试使用web api端点
我正在尝试向我的MVC项目添加一个web api控制器。这是一个MVC3项目,我已经升级到MVC4。我正试图让“测试”简单的api控制器工作,目前得到一个404。以下是我所做的: 我已经添加了所有必需的包。 我已将我的webapi配置添加到全局应用程序\u Start(): 然后调用我的静态寄存器方法:Asp.net mvc 4 404尝试使用web api端点,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,我正在尝试向我的MVC项目添加一个web api控制器。这是一个MVC3项目,我已经升级到MVC4。我正试图让“测试”简单的api控制器工作,目前得到一个404。以下是我所做的: 我已经添加了所有必需的包。 我已将我的webapi配置添加到全局应用程序\u Start(): 然后调用我的静态寄存器方法: public static class WebApiConfig { public static void Register(HttpConfiguration conf
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
我的web应用程序中定义了ApicController:
public class SitechangesController : ApiController
{
/// GET api/default1
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
公共类站点更改控制器:ApiController
{
///获取api/default1
公共IEnumerable Get()
{
返回新字符串[]{“value1”,“value2”};
}
最后,当我在localhosthttp://localhost/api/Sitechanges
,我有一个404
如果我做一个文件/新项目,从头开始创建一个WebAPI项目,我就不会有这些问题。有人能帮我吗
谢谢
Matt似乎在“正常”路由修复之前添加了web api配置
WebApiConfig.Register(GlobalConfiguration.Configuration); // Moved to the top
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
您的控制器必须以
…controller.cs
结尾
例如:
Test.cs
和TestControllerV2.cs
将返回404。TestController.cs
和TestV2Controller.cs
将返回200
我知道你的有,但我在搜索404返回的原因时发现了你的帖子
WebApiConfig.Register(GlobalConfiguration.Configuration); // Moved to the top
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);