Применение паттерна проектирования MVC к веб-API¶
В ASP.NET Core, в отличие от предыдущих версий, существует единый фреймворк, который можно использовать для создания как традиционных веб-приложений, так и веб-API. Поэтому схема работы для веб-API аналогична схеме работы для Razor Pages.

Компонент маршрутизации выбирает конечную точку для вызова на основе входящего URL-адреса, для API это контроллер и действие. Далее происходит привязка модели, при которой создается и заполняется значениями из запроса модель привязки. При этом веб-API используют форматтеры ввода, чтобы принимать данные в различных форматах.1 Валидация проходит аналогичным с Razor Pages образом, свойство ModelState в базовом классе ControllerBase заполняется ошибками валидации.
Метод действия эквивалентен обработчику Razor Page; он точно также взаимодействует с моделью приложения.
После того, как модель приложения вернет необходимые данные, метод действия создает модель API. Это аналог PageModel, но в ней нет данных, используемых для генерации HTML-кода. Далее модель API передается форматтеру вывода, который сериализует модель API. Именно форматтер вывода формирует букву “V” в веб-API версии MVC.
Дата создания : 28 сентября 2022 г.