Перейти к содержанию

Применение паттерна проектирования MVC к веб-API

В ASP.NET Core, в отличие от предыдущих версий, существует единый фреймворк, который можно использовать для создания как традиционных веб-приложений, так и веб-API. Поэтому схема работы для веб-API аналогична схеме работы для Razor Pages.
Pasted image 20220312160408.png
Компонент маршрутизации выбирает конечную точку для вызова на основе входящего URL-адреса, для API это контроллер и действие. Далее происходит привязка модели, при которой создается и заполняется значениями из запроса модель привязки. При этом веб-API используют форматтеры ввода, чтобы принимать данные в различных форматах.1 Валидация проходит аналогичным с Razor Pages образом, свойство ModelState в базовом классе ControllerBase заполняется ошибками валидации.

Метод действия эквивалентен обработчику Razor Page; он точно также взаимодействует с моделью приложения.
После того, как модель приложения вернет необходимые данные, метод действия создает модель API. Это аналог PageModel, но в ней нет данных, используемых для генерации HTML-кода. Далее модель API передается форматтеру вывода, который сериализует модель API. Именно форматтер вывода формирует букву “V” в веб-API версии MVC.


  1. Можно даже сделать собственный форматтер ввода, см здесь 


Последнее обновление : 21 апреля 2023 г.
Дата создания : 28 сентября 2022 г.

Комментарии

Комментарии