问题(追溯)将Web API添加到asp.net MVC项目

时间:2014-01-13 10:21:49

标签: asp.net-mvc api visual-studio-2013

我在Visual Studio 2013中使用asp.net mvc迈出了第一步,我遇到了一个奇怪的问题。

我将我的项目作为MVC启动,并没有检查“Web API”框以包含核心参考。但是现在我想使用Web API功能。我创建了一个新的“somethingController”控制器,选择了API控制器(空),Visual Studio做了它的魔术,创建了一个路由文件等。

然而,当试图访问URL / api / something / I geta 404时。我相信路由不起作用或者还有其他一些我还没想过的问题......

如果我创建一个新项目并检查“Web API”框,它可以正常工作。但是如果你有一个更大的项目并想要添加Web API功能,那么必须有一种简单的方法可靠地将它添加到项目中,对吗?

请有人解释

a)问题在哪里(路由?缺少引用?还有其他什么?)

b)如何可靠地将Web API内容添加到未选中复选框的项目中。

非常感谢。

2 个答案:

答案 0 :(得分:4)

好的,我觉得我的工作正常。将第一个API控制器添加到未选中Web API的项目时,会弹出一个自述文件,其中包含一些其他信息:

我尝试添加

WebApiConfig.Register(GlobalConfiguration.Configuration);

到global.asax并且它不起作用。自述文件显示以下代码

GlobalConfiguration.Configure(WebApiConfig.Register);
是的,虽然看起来(对我来说)这两条线完全相同的东西吗?

答案 1 :(得分:1)

您是否添加了WebApi.Config文件

  config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{id}",
                defaults: new { id = RouteParameter.Optional }
            );

在global.asax

中添加此内容
WebApiConfig.Register(GlobalConfiguration.Configuration);