Выбор ответа Junior ASP.NET Core обновлено
Откуда берутся параметры в контроллере
Вопрос
В [ApiController] метод Create(OrderDto dto) с POST-запросом. Откуда будет взят dto?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Из тела запроса в формате JSON. Атрибут [ApiController] включает правила вывода источников: сложные типы берутся из тела, простые из маршрута и строки запроса, IFormFile из формы.
Варианты ответа
- Из строки запроса, как у GET
- Из тела запроса в формате JSONправильный ответ
- Из заголовков с префиксом
X- - Из DI-контейнера по типу DTO
Разбор
Атрибут [ApiController] включает правила вывода источников: сложные типы берутся из тела, простые из маршрута и строки запроса, IFormFile из формы. Сервисы из DI в действиях берутся через [FromServices] (с .NET 7 выводится для зарегистрированных типов). Ещё он включает автоматический ответ 400 при невалидной модели.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.