Bueno.. pues más o menos mi duda queda definida en el título.
Tengo dos controladores distintos. UserController y PersonsController.
En UserController tengo el siguiente método GET.
public UserManagerModel Get(int page, string filter)
Y en PersonsController
public ImageResult Get(Guid idPerson, Guid idImage)
Cuando llamo al método Get(int page, string filter) de UserController, todo funciona perfectamente.
http://localhost/api/User/1/filtro
Sin embargo, cuando llamo al método Get(Guid idPerson, Guid idImage) del PersonsController, el código entra por el método Get() No por el método con parámetros.
En el WebApiConfig.cs dí de alta la siguiente ruta:
Código:
Ví que todo funcionaba (Menos lo que comenté), y probé con esta otra configuración.config.Routes.MapHttpRoute( name: "Pagination", routeTemplate: "api/{controller}/{page}/{filter}", defaults: new { page = 1, filter=string.Empty } );
Código:
//Ruta para el método Get(idPerson, idImage) del api PersonsManagement config.Routes.MapHttpRoute( name: "Images", routeTemplate: "api/PersonsManagement/{idPerson}/{idImage}" ); //Ruta por defecto del método Get en los controladores config.Routes.MapHttpRoute( name: "Pagination", routeTemplate: "api/{controller}/{page}/{filter}", defaults: new { page = 1, filter=string.Empty } );
¿Saben que puedo tener mal? ¿Acaso no puedo tener métodos Get con mismo número de parámetros, pero de distintos tipos en los diferentes Controllers de la aplicación?, ¿No puedo tener mismo número de parámetros, con distintos nombres, para el mismo método pero en diferentes controllers?
Gracias