2014-10-31 40 views
0

我有一個新的名爲API TEST的WEB API 2項目創建。我試圖讓我的應用程序的路由和我使用下面的代碼: -聲明使用啓動類路由WEB API 2

public class Startup 
{ 
    public void Configuration(IAppBuilder app) 
    { 
     var config = new HttpConfiguration(); 

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

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

     app.UseWebApi(config); 
    } 
} 

我有一個家控制器和該控制器我有一個方法如下: -

public class HomeController : ApiController 
{ 
    public IHttpActionResult GetStatus() 
    { 
     return Ok(); 
    } 
} 

現在我的解決方案資源管理器如下: -

Solution Explorer

現在,當我嘗試調用控制器方法我得到一個404錯誤。

請指教。

+0

您的Startup Configuration方法是否被調用? – 2014-11-02 00:29:36

回答

0

而是在配置設置路由的,爲什麼不使用路由和RoutePrefix屬性來設置你的路由

[RoutePrefix("api/home")] 
public class HomeController : ApiController 
{ 
    [Route("status")] 
    public IHttpActionResult GetStatus() 
    { 
     return Ok(); 
    } 
} 

然後,您將能夠訪問通過URL API /家/狀態。