Контроллеры отвечают за проверку запроса, обслуживание данных запроса и построение ответа. Проверка и ответ происходят в отдельных классах, но запускаются из контроллера.
В разработке приложения не следует напрямую вызвать действие из маршрута. Уровень контроллера помогает повторно использовать действие в нескольких пользовательских интерфейсах (WEB и API), поскольку он не создает ответ, и это уменьшает количество дублирования кода в разных пользовательских интерфейсах.
Вот пример ниже:
WEB-ROUTE-1 Контроллер WEB-CONTROLLER-1 Действие ACTION-1.API-ROUTE-1 Контроллер API-CONTROLLER-1 Действие ACTION-1.Как вы можете видеть в приведенном выше примере, действие ACTION-1 использовалось обоими маршрутами WEB-ROUTE-1 и API-ROUTE-1 с помощью уровня контроллеров, который находится в каждом пользовательском интерфейсе.