我正在使用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