REST в ASP.Net Core

Завершено

При переходе на веб-страницу веб-сервер взаимодействует с браузерами, используя технологии HTML, CSS и JavaScript. Например, если вы взаимодействуете со страницей, отправив форму входа или нажав кнопку покупки, браузер отправляет информацию обратно на веб-сервер.

Аналогичным образом, веб-серверы могут с помощью веб-служб взаимодействовать с широким спектром клиентов, включая браузеры, мобильные устройства, другие веб-серверы и многими другими. Клиенты API взаимодействуют с сервером по протоколу HTTP, а обмен данными осуществляют в определенном формате данных, например JSON или XML. Интерфейсы API часто используются в одностраничных приложениях для выполнения основной части логики пользовательского интерфейса. Связь с веб-сервером в основном происходит через веб-API.

REST — распространенный шаблон для создания API-интерфейсов с использованием HTTP

Передача репрезентативного состояния (REST) — это архитектурный стиль для создания веб-служб. Запросы REST выполняются по протоколу HTTP. Они используют те же HTTP-команды, что и для получения страниц и отправки данных на серверы. Ниже приведен перечень команд.

  • GET: получение данных из веб-службы.
  • POST: создание нового элемента данных в веб-службе.
  • PUT: изменение элемента данных в веб-службе.
  • PATCH: обновление элемента данных в веб-службе путем описания набора инструкций для изменения этого элемента. Пример приложения в этом модуле не использует эту команду.
  • DELETE: удаление элемента данных в веб-службе.

API-интерфейсы веб-службы, которые соответствуют REST, называются RESTful API. Они определяются с помощью следующих элементов:

  • Базовый универсальный код ресурса (URI).
  • Методы HTTP, в том числе GET, POST, PUT, PATCH и DELETE.
  • Тип носителя данных, например нотация объектов JavaScript (JSON) или XML.

API-интерфейсу часто требуется предоставлять службы для нескольких разных, но связанных друг с другом элементов. Например, наш API пиццы может управлять пиццами, клиентами и заказами. Мы используем маршрутизацию для сопоставления кодов URI с логическими разделами в коде таким образом, чтобы запросы по адресу https://localhost:5000/pizza направлялись в PizzaController, а запросы по адресу https://localhost:5000/order — в OrderController.

Преимущества создания API-интерфейсов в ASP.NET Core

При работе с ASP.NET можно использовать одну платформу и одинаковые шаблоны для создания как веб-страниц, так и служб. Вы можете повторно использовать классы моделей и логику проверки, а также обслуживать как веб-страницы, так и службы параллельно в одном проекте. Этот подход имеет следующие преимущества.

  • Простая сериализация: платформа ASP.NET была разработана для современных веб-приложений. Конечные точки автоматически сериализуют ваши классы в правильно отформатированный JSON без дополнительных действий с вашей стороны. Никакой особой настройки не требуется. Сериализация для конечных точек с уникальными требованиями можно настроить.

  • Проверка подлинности и авторизация: для обеспечения безопасности конечные точки API поддерживают стандартную для отрасли технологию JSON Web Token (JWT). Авторизация на основе политик позволяет гибко определять в коде мощные правила управления доступом.

  • Маршрутизация вместе с кодом. ASP.NET позволяет встраивать в код определения маршрутов и команд с помощью атрибутов. Данные из пути запроса, строки запроса и текст запроса автоматически привязываются к параметрам метода.

  • HTTPS по умолчанию: протокол HTTPS является важной частью современных профессиональных веб-API. В нем применяется сквозное шифрование для обеспечения конфиденциальности и защиты от перехвата вызовов API или их изменения при передаче между клиентом и сервером.

    ASP.NET обеспечивает поддержку HTTPS в стандартной конфигурации. Он автоматически создает тестовый сертификат и легко импортирует его, чтобы вы могли обеспечить локальное использование протокола HTTPS для безопасного запуска и отладки приложений перед их публикацией.

Повторное использование кода и знаний в приложениях .NET

Вы можете использовать навыки и экосистему .NET для совместного использования логики из веб-API в другие приложения, созданные с помощью .NET, включая мобильные, веб-приложения, настольные компьютеры и службы.

Тестирование веб-API с помощью .NET HTTP REPL

При разработке традиционного веб-сайта результат обычно просматривают и тестируют в веб-браузере. Интерфейсы веб-API принимают и возвращают данные, а не HTML, поэтому веб-браузер не является лучшим средством для их тестирования.

Одним из самых простых вариантов для взаимодействия с веб-API является .NET HTTP REPL. Аббревиатура REPL происходит от английских слов Read-Eval-Print Loop (цикл "чтение-вычисление-вывод"). Это простой и популярный способ создания интерактивных сред командной строки. В следующем уроке вы создадите простой веб-API, а затем взаимодействуете с ним с помощью HTTP REPL .NET.

Проверьте свои знания

1.

Какой из следующих вариантов использования не является причиной создания веб-API с помощью ASP.NET Core?