Я работаю над проектом Web Api 2 и использую маршрутизацию на основе атрибутов. Вот примерный маршрут:
[Route("{id:int}", Name = "GetEmployeeById")]
[HttpGet]
public IHttpActionResult GetEmployee(int id)
{
...
}
Это работает со следующими URL-адресами:
- //хост/сотрудник/12345
- //хост/сотрудник?id=12345
Я бы предпочел, чтобы первая форма (параметр в URI) не была разрешена, и работала бы только вторая форма (строка запроса).
Что я пробовал
В основном я пытался найти в Интернете способ заставить эту работу работать, и я не нашел многого.
На этой странице говорится об ограничениях маршрута, но этот синтаксис не работает (уже?).
Эта страница на самом деле не мешает работе формы URI.
[FromUri]
, по-видимому, принудительно использует параметр, который обычно берется из POST из строки запроса. Это бесполезно для этого вопроса, но мне было интересно; Спасибо! 23.10.2014