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

Minimal API и контроллеры

Вопрос

Какое утверждение о Minimal API в .NET 8 верно?

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

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

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

Коротко

Правильный ответ: Поддерживают DI, фильтры и группы маршрутов, годятся для продакшена. Minimal API давно доросли до продакшена: параметры из DI, MapGroup для групп маршрутов, AddEndpointFilter, RequireAuthorization, OpenAPI, а в .NET 8 генератор делегатов запросов для Native AOT.

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

  1. Подходят только для прототипов: в них нет внедрения зависимостей
  2. Поддерживают DI, фильтры и группы маршрутов, годятся для продакшенаправильный ответ
  3. Работают медленнее контроллеров из-за рефлексии на каждый запрос
  4. Не поддерживают аутентификацию и авторизацию без контроллеров

Разбор

Minimal API давно доросли до продакшена: параметры из DI, MapGroup для групп маршрутов, AddEndpointFilter, RequireAuthorization, OpenAPI, а в .NET 8 генератор делегатов запросов для Native AOT. По производительности они не хуже контроллеров. Выбор между ними это скорее вопрос стиля и размера проекта. Встроенная валидация моделей у Minimal API появилась только в .NET 10, до этого её делали фильтрами или библиотеками.

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

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