2014-10-31 50 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 /家/状态。