Каким образом входящий запрос преобразуется в параметры метода в контроллере?

В ASP.NET контроллеры получают параметры методов из входящих HTTP-запросов с помощью механизма привязки моделей (model binding).

Короткий ответ

Что ответить на собеседовании

В ASP.NET контроллеры получают параметры методов из входящих HTTP-запросов с помощью механизма привязки моделей (model binding).

Подробный разбор

Ответ с пояснениями

В 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 и передан в метод.

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку