我正在使用VS 2017社区。多年来,我一直在构建web API。但是,由于我无法得到最简单的例子,所以一定会有变化。MVC中的web api不再工作
我在控制器文件夹一个简单的控制器
public class TestApi : ApiController
{
// GET api/<controller>
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
我在应用程序所需的代码开始:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
GlobalConfiguration.Configure(WebApiConfig.Register);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
但是,当我尝试用得到这样的测试Web API:
http://localhost:54014/api/testapi
我总是得到一个XML消息
Error
Message
No HTTP resource was found that matches the request URI
'http://localhost:54014/api/testapi'.
/Message
MessageDetail
No type was found that matches the controller named 'testapi'.
/MessageDetail
/Error
这里是WebApiConfig.cs
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 }
);
}
}
我几个小时到挠头这一点。正如我所说,我已经建立了许多MS Web API实现,这让我感到困惑。
尝试将您的控制器重命名为TestApiController。 –
谢谢......尝试过,但仍然只有名为已更改的控制器才会得到相同的错误。 –
@patcapozzi show * WebApiConfig.cs *。 – Nkosi