Back to questions
Andersen
Junior — Middle
69
Каким образом входящий запрос преобразуется в параметры метода в контроллере?
Companies where asked
Answer from AI
sobes.tech AI
В ASP.NET контроллеры получают параметры методов из входящих HTTP-запросов с помощью механизма привязки моделей (model binding).
Когда приходит запрос, фреймворк анализирует данные из разных источников:
- Параметры строки запроса (query string)
- Тело запроса (например, JSON или form-data)
- Заголовки
- Маршрутные параметры
И пытается сопоставить их с параметрами метода контроллера по имени и типу.
Например, если метод контроллера выглядит так:
public IActionResult GetUser(int id, string name)
То фреймворк будет искать в запросе параметры id и name и автоматически преобразует их в нужные типы.
Для сложных объектов можно использовать атрибуты [FromBody], [FromQuery] и т.д., чтобы явно указать источник данных.
Пример:
[HttpPost]
public IActionResult CreateUser([FromBody] UserModel user)
Здесь JSON из тела запроса будет десериализован в объект UserModel и передан в метод.