2012-12-06 103 views
0

在我的项目中,有多个控制器。我的“书籍” - 控制器有多个方法,没有任何参数。获取控制器webapi

所以我改变了默认映射来自:

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

到:

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

现在实际上这仅仅是书本控制器的情况下...其他控制器应该像第一处理映射...

我该如何解决这个问题?

回答

1

我不是100%你问什么,而是这可能工作,

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