Cómo mapear correctamente las rutas de WebAPI
Estoy construyendo una API para un sitio similar a Twitter usando Web API y tengo problemas para mapear las rutas
Tengo las siguientes acciones para el controlador de usuario:
public User Get(string firstname, string lastname)
public User Get(Guid id)
public User Friends(Guid id)
public User Followers(Guid id)
public User Favorites(Guid id)
Las rutas deseadas y la documentación generada deben ser:
api/users?firstname={firstname}&lastname={lastname}
api/users/{id}
api/users/{id}/friends
api/users/{id}/followers
api/users/{id}/favorites
En WebApiConfig.cs tengo:
config.Routes.MapHttpRoute(
"2",
"api/{controller}/{id}",
new { action = "get", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
"1",
"api/{controller}/{id}/{action}"
);
¿Cómo puedo mapear correctamente las rutas de WebAPI?