Как правильно сопоставить маршруты WebAPI
Я создаю API для сайта, похожего на Twitter, используя Web API, и у меня проблемы с отображением маршрутов.
У меня есть следующие действия для контроллера пользователя:
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)
Желаемые маршруты и сгенерированная документация должны быть:
api/users?firstname={firstname}&lastname={lastname}
api/users/{id}
api/users/{id}/friends
api/users/{id}/followers
api/users/{id}/favorites
В WebApiConfig.cs у меня есть:
config.Routes.MapHttpRoute(
"2",
"api/{controller}/{id}",
new { action = "get", id = RouteParameter.Optional }
);
config.Routes.MapHttpRoute(
"1",
"api/{controller}/{id}/{action}"
);
Как правильно сопоставить маршруты WebAPI?