Web API 2 / MVC 5: Маршрутизация атрибутов, передающая параметры в виде строки запроса для назначения различных действий на одном контроллере

Я играл с новым Web API 2 (который, между прочим, выглядит многообещающе), но у меня немного болит голова, чтобы заставить работать некоторые маршруты. Все работает нормально, когда у меня есть GetAllUsers / GetUser (int id), но потом, когда я добавляю GetUserByName (имя строки) и / или GetUserByUsername (имя пользователя строки), все становится жутко. Я знаю, что int будет первым, и я могу изменить порядок маршрутов, но давайте представим следующий сценарий:

Пользователь может иметь действительныйusername=1234 или жеname=1234 (Я знаю, что это маловероятно, но мы должны предотвратить любую возможную ситуацию), и у нас может быть действительный идентификатор 1234 в базе данных, и все маршруты будут перепутаны.

Может быть, это то, с чем нам нужно будет работать в новом WebAPI 2, поэтому я подумал, что мог бы использовать «обходной путь», передающий фильтры в виде строк запросов для нацеливания на разные действия в одном контроллере, напримерapi/users/?username=1234 (GetUserByUsername) илиapi/users/?name=1234 (GetUserByName)

Но я не могу сделать так, чтобы строки запросов проходили ... фактически любой параметр строки запроса, описанный выше, попадает в GetAllUsers.

У кого-нибудь есть какие-либо предложения / исправления для этого сценария?

большое спасибо

Ответы на вопрос(0)

Ваш ответ на вопрос