Введение В Rest Api — Веб-Службы Restful

Эта статья начинает серию статей о разработке REST API:

  • Введение в REST API — веб-службы RESTful
  • Различия между REST и SOAP
  • Разработка REST API: что такое контракт прежде всего?
  • Разработка REST API. Что такое код прежде всего?
  • REST API — Что такое HATEOAS?
  • Рекомендации по REST API — примеры проектирования веб-сервисов на Java и Spring
В нем представлено введение в веб-службы RESTful и краткий обзор REST и HTTP.

Введение в REST API — веб-службы RESTful

Введение в веб-службы RESTful REST означает «Передача репрезентативного состояния» (Википедия: «Передача репрезентативного состояния»).

Это популярный архитектурный подход к созданию API в современном мире.



Ты выучишь:

  • Что такое ОТДЫХ?
  • На чем основан REST API?
  • Как HTTP используется при создании REST API?
  • Что такое ресурс?
  • Как вы определяете ресурсы REST API?
  • Каковы лучшие практики при разработке REST API?


Что такое ОТДЫХ?

REST означает передачу репрезентативного состояния.

Этот термин первоначально придумал Рой Филдинг, который также был одним из создателей протокола HTTP. Самое замечательное в службах REST заключается в том, что они наилучшим образом используют протокол HTTP. Теперь давайте кратко рассмотрим HTTP.

Краткий обзор HTTP

Давайте сначала откроем браузер и посетим веб-страницу:

Введение в REST API — веб-службы RESTful

А затем нажмите на одну из страниц результатов:

Введение в REST API — веб-службы RESTful

Далее мы можем нажать на ссылку на странице, на которой мы находимся:

Введение в REST API — веб-службы RESTful

И переходим на другую страницу:

Введение в REST API — веб-службы RESTful

Именно так мы обычно просматриваем веб-страницы.

Когда мы пользуемся Интернетом, за кулисами происходит множество вещей.

Ниже приведено упрощенное представление того, что происходит между браузером и серверами посещаемых вами веб-сайтов:

Введение в REST API — веб-службы RESTful



HTTP-протокол

Когда вы вводите URL-адрес в браузере, например.

www.google.com , на сервер отправляется запрос на веб-сайт, определенный URL-адресом.

Затем этот сервер генерирует и выдает ответ. Формат этих запросов и ответов имеет важное значение.

Эти форматы определяются протоколом HTTP — протокол передачи гипертекста .

Когда вы вводите URL-адрес в браузере, он отправляет запрос GET на указанный сервер.

Затем сервер отвечает HTTP-ответом, содержащим данные в формате HTML — язык гипертекстовой разметки .

Затем браузер получает этот HTML-код и отображает его на экране.

Допустим, вы заполняете форму, представленную на веб-странице, со списком элементов.

В этом случае при нажатии кнопки « Представлять на рассмотрение "(Отправить), HTTP-запрос ПОЧТА отправлено на сервер.



Веб-сервисы HTTP и RESTful

HTTP обеспечивает базовый уровень для создания веб-сервисов.

Поэтому важно понимать HTTP. Вот несколько ключевых абстракций.



Ресурс

Ресурс — это ключевая абстракция, на которой фокусируется протокол HTTP. Ресурс — это все, что вы хотите показать внешнему миру через свое приложение.

Например, если мы пишем приложение для управления задачами, экземпляры ресурсов будут следующими:

  • Конкретный пользователь
  • Конкретная задача
  • Список задач


URI ресурса

При разработке служб RESTful основное внимание следует уделять ресурсам приложения.

Мы идентифицируем ресурс, который нужно предоставить, путем присвоения ему URI — универсального идентификатора ресурса.

Например:

  • Создайте пользователя: ПОСТ/пользователи
  • Удалить пользователя: УДАЛИТЬ /пользователи/1
  • Получить всех пользователей: ПОЛУЧИТЬ /пользователи
  • Получить одного пользователя: ПОЛУЧИТЬ /пользователи/1


ОТДЫХ и ресурсы

Важно отметить, что при использовании REST вам нужно думать о приложении с точки зрения ресурсов: Определите, какие ресурсы вы хотите открыть внешнему миру Используйте команды, уже определенные протоколом HTTP, для выполнения операций с этими ресурсами.

Вот как обычно реализуется служба REST:

  • Формат обмена данными : Здесь нет никаких ограничений.

    JSON — очень популярный формат, хотя можно использовать и другие, например XML.

  • Транспорт : всегда HTTP. REST полностью построен на основе HTTP.
  • Определение услуги : Для этого не существует стандарта, а REST является гибким.

    В некоторых сценариях это может быть недостатком, поскольку приложению-потребителю может потребоваться понимание форматов запросов и ответов.

    Однако широко используются языки определения веб-приложений, такие как WADL (язык определения веб-приложений) и Swagger.

REST фокусируется на ресурсах и на том, насколько эффективно вы выполняете над ними операции с помощью HTTP.

HTTP-компоненты

HTTP определяет следующую структуру запроса:
  • Строка запроса ( строка запроса ) — определяет тип сообщения
  • заголовки запроса ( поля заголовка ) — характеризуют тело сообщения, параметры передачи и другую информацию
  • тело сообщения ( тело ) - необязательный
HTTP определяет следующую структуру ответного сообщения:
  • статус бар ( строка состояния ), включая код состояния и сообщение о причине
  • поля заголовка ответа ( поля заголовка )
  • дополнительное тело сообщения ( тело )


Методы HTTP-запроса

Метод, используемый в HTTP-запросе, определяет, какое действие вы хотите выполнить с этим запросом.

Важные примеры:

  • ПОЛУЧАТЬ : получить подробную информацию о ресурсе
  • ПОЧТА : создать новый ресурс
  • ПОМЕЩАТЬ : обновить существующий ресурс
  • УДАЛИТЬ : Удалить ресурс


Код состояния ответа HTTP

Код состояния всегда присутствует в ответе HTTP. Типичные примеры:
  • 200 – успех
  • 404 Страница не найдена
На этот вопрос есть авторские права видео .



Краткое содержание

В этой статье представлен общий обзор архитектурного стиля REST. Это подчеркивает тот факт, что HTTP является основным строительным блоком служб REST. HTTP — это протокол, который используется для определения структуры запросов и ответов браузера.

Мы видели, что HTTP имеет дело в первую очередь с ресурсами, доступными на веб-серверах.

Ресурсы идентифицируются по URI, а операции с этими ресурсами выполняются с использованием команд, определенных протоколом HTTP. Наконец, мы рассмотрели, как службы REST наилучшим образом используют возможности HTTP для предоставления ресурсов внешнему миру.

REST не накладывает никаких ограничений на форматы представления ресурсов или на определение службы.



Дальнейшее чтение

Основы RESTful архитектуры Разработка REST API Теги: #api #rest #restful #веб-сервисы
Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.