I am trying to create a route that will be handled by each of my controller's GetAll method vs. the paged, default Get method so that the url looks like the following: "api/{controller}/all"
public class MyController {
public IEnumerable<MyModel> GetAll() {
...
}
public IEnumerable<MyModel> Get(int page = 0, int pageSize = 50) {
...
}
}
public class MyOtherController {
public IEnumerable<MyOtherModel> GetAll() {
...
}
public IEnumerable<MyOtherModel> Get(int page = 0, int pageSize = 50) {
...
}
}
My routes looks like this currently:
config.Routes.MapHttpRoute(
name: ControllerOnlyRoute,
routeTemplate: "api/{controller}"
);
config.Routes.MapHttpRoute(
name: ControllerAndIdRoute,
routeTemplate: "api/{controller}/{id}",
defaults: null
);
config.Routes.MapHttpRoute(
name: ControllerActionRoute,
routeTemplate: "api/{controller}/{action}"
);
I'm not sure how to create a route for each controller that will route to the GetAll method?