Что такое REST API?

Yori Yori 30 Октября 2021

С момента изобретения Интернета мы использовали различные приложения и веб-страницы для получения данных для различных ресурсов. Однако задумывались ли вы, откуда берутся эти данные?

Ну, это серверы, с которых мы получаем данные. Итак, в этой статье о том, что такое REST API, давайте посмотрим, как клиент взаимодействует с серверами для извлечения необходимой информации.

Что такое REST API?

Термин REST означает REpresentational State Transfer («передача репрезентативного состояния»). Это архитектурный стиль, который определяет набор правил для создания веб-служб. При взаимодействии клиент-сервер REST предлагает создать объект данных, запрошенных клиентом, и отправить значения объекта в ответ пользователю. Например, если пользователь запрашивает фильм в определенном месте и в определенное время, вы можете создать объект на стороне сервера.

Итак, здесь у вас есть объект, и вы отправляете состояние объекта. Вот почему REST известен как передача репрезентативного состояния.

Архитектурный стиль REST помогает уменьшить использование полосы пропускания, чтобы сделать приложение более подходящим для Интернета. Его часто называют «языком Интернета», и он полностью основан на ресурсах.

Теперь, давайте продолжим и поймем необходимость REST API.

Зачем использовать REST API?

Рассмотрим сценарий, в котором вы используете приложение Book My Show. Теперь очевидно, что этому приложению требуется много входных данных, поскольку данные, представленные в приложении, никогда не бывают статичными. Либо это фильмы, которые выходят часто…, разные города показывают фильмы на разных языках в разное время дня. Данные никогда не бывает статичными, что подразумевает тот факт, что данные в этих приложениях постоянно меняются.

Итак, как вы думаете, откуда мы получаем эти данные?

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

Здесь ответ, отправляемый клиенту, имеет форму веб-страницы HTML. Но думаете ли вы, что это правильный ответ, которого вы ожидаете, когда отправляете запрос?

Что ж, я предполагаю, что вы скажете НЕТ. Поскольку вы бы предпочли, чтобы данные возвращались в виде структурированного формата, а не в виде полной веб-страницы.

Таким образом, по этим причинам данные, возвращаемые сервером в ответ на запрос клиента, имеют формат JSON или XML. И форматы JSON, и XML имеют правильную иерархическую структуру данных.

Это звучит довольно просто, правда?

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

Итак, здесь на сцену выходит REST API. REST API создает объект, а затем отправляет значения объекта в ответ клиенту. Он разбивает транзакцию для создания небольших модулей. Теперь каждый из этих модулей используется для адресации определенной части транзакции. Такой подход обеспечивает большую гибкость, но требует больших усилий для создания с нуля.

Возможно на этом сайте стоит попробовать перевести всё на этот стиль (REST API)?

3 Ответа

  1. Evg Evg 30 Октября 2021

    Хм, вы правильно сказали, это много работы. Можно посмотреть (часть, но не всё используя Radjax (fast Ajax- and API-router) от HLEB): https://agouti.ru/test/search

    Я давно смотрю, собственно, это интересно в том плане, что мне нужны будут структурированные данные. Темы, для этого были сделаны. Это всё в рамках того, куда всё движется. Но надо понимать, что возможно один я не потяну, прям всё переделать микросервисами, и сделать по уму всё, не отдельными вставками и кусками, а чтобы это была основа, ядро. Тут, ещё раз, много работы. Пока давайте смотреть.

    На GitHub, как раз сегодня архив сделал, контрольную точку поставил, Radjax введем далее. Тема интересная на самом деле. И как там говорят, модная? Не люблю это слово… )

    1. Yori Yori 30 Октября 2021

      Я знал, что дельное предлагаю. :) Поиск интересный!

  1. Evg Evg 1 Ноября 2021

    Временно уберу строку поиска из шапки сайта. Необходимо поработать с ним используя данный метод (API).