Основы разработки REST и RESTful API

Веб-разработчики часто говорят о принципах REST и архитектуре данных RESTful, поскольку это важный аспект современной разработки, но иногда это может быть невероятно запутанным. REST – это не сама технология, а метод создания API с определенными организационными принципами. Эти принципы призваны помочь разработчикам и создать более универсальную среду для обработки запросов API.

В этом посте я хотел бы объяснить RESTful методы разработки с высоты птичьего полета. Я хочу заняться что а не как, Хотя я коснусь обеих областей, этот пост предназначен для тех, кто занимается веб-разработкой, но просто не может понять концепцию REST API.

REST для веб-разработчиков

REST акроним расшифровывается как Передача представительского состояния. Это может показаться несколько запутанным, и запись в вики звучит еще более запутанно. Но можно упростить терминологию.

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

REST – это просто набор руководящих принципов и архитектурных стилей, используемых для передачи данных. Он обычно применяется к веб-приложениям, но может также передавать данные в программное обеспечение.

Аббревиатура API означает интерфейс прикладного программирования, который представляет собой способ соединения с другими библиотеками или приложениями. Windows имеет несколько APIи Twitter имеет веб-API а также, хотя они выполняют разные задачи с разными целями.

Объединяя все это вместе, RESTful API являются API, которые следуют архитектуре REST.

Что такое архитектура REST?

Это где трудно сложить детали. Однако есть некоторые архитектурные константы, такие как:

  • Согласованность по всему API
  • Существование без гражданствато есть никаких сеансов на стороне сервера
  • Использование кодов состояния HTTP, где это уместно
  • Использование конечных точек URL с логической иерархией
  • Управление версиями в URL, а не в заголовках HTTP

Там нет каких-либо слишком конкретных руководящих принципов, таких как W3C HTML5 спецификация которая могла бы привести к путаницеи миазм неопределенности вокруг терминологии REST.

Кроме того, приведенный выше список не следует считать жесткими и быстрыми правилами, даже если они верны для большинства современных RESTful API.
Предварительный просмотр диаграммы APIИЗОБРАЖЕНИЕ: restful-api-design.readthedocs.ioREST – это легкая методология, которая делает его идеальным для данных HTTP. Вот почему REST стал настолько популярным в сети, и поэтому он широко считается лучшим выбором для разработки API.

В виде Виная Сахни «API – это пользовательский интерфейс разработчика». Все должно быть простым в использовании и обеспечивать отличный пользовательский опыт. RESTful API стремятся сделать именно это.

Ключевые выводы для RESTful API

Эти советы в контексте API строго для веб-приложений. Это означает, что HTTP является требованием, и это часто означает, что данные API размещаются на внешнем сервере. Давайте рассмотрим, как работают API RESTful на стороне пользователя API.

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

Вообще говоря, есть четыре команды, используемые для доступа к API RESTful:

  1. GET для получения объекта
  2. POST для создания нового объекта
  3. PUT для изменения или замены объекта
  4. УДАЛИТЬ для удаления объекта

Каждый из этих методов должен быть передан с вызовом API, чтобы сообщить серверу, что делать.

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

Однако не многие RESTful API даже заходят так далеко. Рассматривать Pokéapi которая является бесплатной базой данных API покемонов. Он открыт для общественности с приличным ограничением скорости (ограничение пользователей определенным количеством запросов API в течение определенного периода времени), но позволяет использовать только метод GET для доступа к ресурсам. Это можно условно назвать API только для потребления.
скриншот API покемоновТипы возврата также важны и должны сохранять однородность для всех ресурсов. JSON – это популярный тип возврата с онлайн спецификации которые объясняют правильные структуры данных.

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

Доступ к ресурсам API

Публичные API обычно доступны с прямых адресов веб-сайтов. Это означает, что структура URL важна и должна использоваться только для запросов API.

Некоторые URL-адреса могут включать каталог префиксов, например / v2 /, для обновленной версии 2 предыдущего API. Это характерно для разработчиков, которые не хотят обесценивать свой API 1.x, но все же хотят предложить новейшую структуру.

мне правда понравилось эта почта охватывает основные структуры URL и примеры из других служб.

Обратите внимание, что возвращаемые данные конечной точки будут сильно меняться в зависимости от метода HTTP. Например, GET получает контент, а POST создает новый контент. Запрос может указывать на одну и ту же конечную точку, но результат может сильно отличаться.
Reddit API документация веб-сайтИЗОБРАЖЕНИЕ: Документация Reddit APIПросмотр примеров в Интернете может помочь вам лучше понять концепции. Мы уже видели Pokeapi, но вот еще несколько реальных примеров API для просмотра:

Создание собственного API

Процесс создания собственного API не следует воспринимать легкомысленно, но он также не так сложен, как вы думаете. Чтобы создать что-то реальное, нужно понимание шаблонов проектирования API и лучших практик.

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

Но давайте взглянем на некоторые основные принципы архитектуры API.
Построить конечные точки
Одним из аспектов разработки API является создание конечных точек. При создании ресурсов, которые вы хотите использовать существительные, а не глаголы, Это означает, что данные API должны возвращать человека, место или вещь, чаще всего это вещь с определенными атрибутами (например, твит и все его метаданные).

Это может быть трудно научиться имя существительные, но это важный аспект разработки API. Упрощение лучше всего, когда это возможно.

Большая дискуссия – существительные единственного и множественного числа. Если вы создавали API-интерфейс Twitter, у вас сначала может быть группа объектов (т. Е. Твит), а затем – объектный объект (т. Е. Идентификатор твита).

$ / твит / 15032934882934
$ / твиты / 15032934882934

В этом случае, я бы сказал, единственная форма выглядит лучше. Это особенно верно, когда возвращается только один ресурс. Но нет задокументированного 100% правильного ответа, поэтому делайте все, что подходит для вашего проекта.
Установить тип возврата
Другое соображение – данные типа возврата. Большинство веб-пользователей ожидают JSON-контент, так что это, вероятно, лучший вариант. XML – это еще один выбор, если вы хотите предложить оба варианта. Однако JSON является основным типом возврата API среди веб-разработчиков.

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

Если вы только начинаете, рассмотрите следующие уроки по разработке:

Дополнительные ресурсы

Лучший способ научиться разрабатывать веб-приложения – это практиковаться. Предоставленная теория всегда стоит изучать, потому что она позволяет вам общаться с разработчиками и понимать, как все работает.

Но хорошее место для начала разработки API – сначала подключиться к другим API. Изучите основы клиентских подключений, и оттуда вы можете перейти к разработке API на стороне сервера, создав собственный API с нуля.

Если это ваша цель, рассмотрите следующие ресурсы, которые помогут вам в вашем путешествии.
книги
статьи

            <script async src="https://triu.ru/wp-content/litespeed/localres/aHR0cHM6Ly9wbGF0Zm9ybS50d2l0dGVyLmNvbS93aWRnZXRzLmpz" charset="utf-8"></script>

Программы для Windows, мобильные приложения, игры - ВСЁ БЕСПЛАТНО, в нашем закрытом телеграмм канале - Подписывайтесь:)

Похожие записи

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *