Asp.net mvc 4 获取控制器webapi

Asp.net mvc 4 获取控制器webapi,asp.net-mvc-4,asp.net-web-api,Asp.net Mvc 4,Asp.net Web Api,在我的项目中,有多个控制器。我的“书”-控制器有多个没有任何参数的方法 因此,我将默认映射从: config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); 致: 现在实际上这只是图书管理员的情况

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

因此,我将默认映射从:

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

现在实际上这只是图书管理员的情况。。。其他控制器应该像第一个映射一样处理


我该怎么解决这个问题呢?

我不是100%符合你的要求,但这可能有用

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