Como mapear rotas WebAPI corretamente
Estou criando uma API para um site semelhante ao Twitter usando a API da Web e tenho problemas com o mapeamento de rotas
Eu tenho as seguintes ações para o controlador de usuário:
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)
As rotas desejadas e a documentação gerada devem ser:
api/users?firstname={firstname}&lastname={lastname}
api/users/{id}
api/users/{id}/friends
api/users/{id}/followers
api/users/{id}/favorites
No WebApiConfig.cs eu tenho:
config.Routes.MapHttpRoute(
"2",
"api/{controller}/{id}",
new { action = "get", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
"1",
"api/{controller}/{id}/{action}"
);
Como posso mapear rotas WebAPI corretamente?