Нет, это часть пути и в RESTful номенклатуре не является параметром строки запроса.
Переменные пути являются обязательными компонентами маршрута и ДОЛЖНЫ быть предоставлены для определения соответствующего маршрута.Пропуск параметра id, когда он требуется для пути, должен вызывать 404 (если другой маршрут не соответствует api/house
).
Однако параметры строки запроса необязательны.Они являются последней частью URI и встречаются после символа ?
, например api/house?id=1
.В этом стиле URI можно ожидать, что конечная точка вернет дом с идентификатором 1
, если указан параметр строки запроса, или все дома, если он пропущен.
Наконец, вы должны отметитьпараметр строки запроса через атрибут FromUri
и пропуск его по пути:
[HttpGet]
[Route("api/house")]
public IActionResult GetHouseById([FromUri]int id)