Главная страница   /   25.1. Понимание Web API (ASP.NET MVC 4

ASP.NET MVC 4

ASP.NET MVC 4

Адам Фриман

25.1. Понимание Web API

Чтобы использовать функцию Web API, необходимо добавить специальный контроллер в приложение MVC Framework. Этот контроллер - API Controller - имеет две отличительные характеристики:

  1. Методы действий возвращают модель, а не объекты ActionResult.
  2. Методы действий выбираются в зависимости от метода HTTP, который использовался в запросе.

Объекты моделей, созданные методами действий контроллера API, преобразовываются в формат JSON и отправляются клиенту. Контроллеры API предназначены для доставки веб-данных сервисов, так что они не поддерживают представления, макеты или любые другие функции, которые создают HTML для отображения в браузере. Контроллер API может поддерживать запросы от любого клиента, но чаще всего он используется для обслуживания запросов Ajax от веб-приложений; это мы и продемонстрируем в данной главе.

Как мы показали в главе 21, методы действий, которые возвращают данные JSON для поддержки Ajax, можно создавать и в обычных контроллерах, но контроллер API предлагает альтернативный подход. Он позволяет отделить действия, которые возвращают данные, от действий, которые возвращают представления, и, таким образом, облегчает и ускоряет создание Web API общего назначения.

Подсказка

Вас никто не обязывает использовать контроллеры API (как и практически все остальные функции MVC Framework). В реальных проектах мы используем техники из главы 21 наряду с контроллерами API. Как правило, мы используем контроллеры API, когда необходимо создать много действий, которые возвращают JSON, или когда мы работаем над проектом, который не имеет компонента HTML и предоставляет только сервисы данных.

Чтобы объяснить, как работают контроллеры API, проще всего будет создать приложение MVC Framework, в котором будут использоваться такие контроллеры; это мы и сделаем позже в этой главе. Тем не менее, Web API - довольно простая функция, и опирается на многие возможности MVC, которые мы подробно рассмотрели в предыдущих главах, так что мы потратим большую часть времени на создание приложения, а в конце просто добавим к нему контроллер API.

С одной стороны, это даже хорошо. Это означает, что вы уже знаете все функции, на которые опирается контроллер API. Но пример все равно получается странным, потому что нам придется создать много стандартных компонентов приложения MVC, прежде чем мы перейдем к контроллеру API. К тому же, нам придется написать код JavaScript, который отправляет запросы Ajax. Для этого мы будем использовать jQuery, но не будем разбирать код подробно, а только объясним, что делает каждая секция кода и как она взаимодействует с веб-службой, которую мы создадим.