Выбор ответа Junior ASP.NET Core обновлено

Откуда берутся параметры в контроллере

Вопрос

В [ApiController] метод Create(OrderDto dto) с POST-запросом. Откуда будет взят dto?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Из тела запроса в формате JSON. Атрибут [ApiController] включает правила вывода источников: сложные типы берутся из тела, простые из маршрута и строки запроса, IFormFile из формы.

Варианты ответа

  1. Из строки запроса, как у GET
  2. Из тела запроса в формате JSONправильный ответ
  3. Из заголовков с префиксом X-
  4. Из DI-контейнера по типу DTO

Разбор

Атрибут [ApiController] включает правила вывода источников: сложные типы берутся из тела, простые из маршрута и строки запроса, IFormFile из формы. Сервисы из DI в действиях берутся через [FromServices] (с .NET 7 выводится для зарегистрированных типов). Ещё он включает автоматический ответ 400 при невалидной модели.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.