Основы серверной части: RESTful API (API, REST, методы, JSON, примеры)

Как вы, наверное, знаете, типичное современное приложение состоит из 2-х основных частей: Frontend и Backend.

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

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

REST-API

Давайте разберем его и разберемся с терминами REST и API.

Метафора итальянского ресторана

Допустим, вы пытаетесь найти ближайшие итальянские рестораны в своем любимом приложении для обзора ресторанов. Вы открываете свое мобильное приложение, вводите «итальянский» в поле поиска, нажимаете «Ввод», и вы видите список ресторанов рядом с вашим местоположением.

REST API работает аналогично. Вы что-то запрашиваете и получаете список результатов от запрашиваемой службы.

Что такое API?

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

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

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

REST определяет, как выглядит API. Это означает «Передача репрезентативного состояния» и представляет собой набор правил, которым следуют разработчики при создании своего API. В приведенном выше примере функция поиска — это ресурс API, предоставляемый REST.

Методы

В RESTful API клиент и сервер взаимодействуют по протоколу HTTP. Клиент отправляет запрос на сервер, а сервер обрабатывает этот запрос и отправляет ответ в ответ.

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

1. ПОЛУЧИТЬ

Этот запрос используется для получения ресурса с сервера. Если вы выполняете запрос GET, сервер ищет запрошенные вами данные и отправляет их вам. Другими словами, запрос GET выполняет операцию READ. Это метод запроса по умолчанию.

2. РАЗМЕСТИТЬ

Этот запрос используется для создания нового ресурса или выполнения действия на сервере. Если вы выполняете запрос POST, сервер создает новую запись в базе данных или выполняет действие и сообщает вам, было ли создание успешным, или возвращает результаты действия в соответствии с дизайном вашего сервиса.

3. ПОСТАВИТЬ/ИСПРАВИТЬ

В основном используется для обновления ресурса на сервере. Например, если вы выполняете запрос PUT/PATCH, сервер обновляет запись в базе данных и сообщает вам, успешно ли выполнено обновление. Другими словами, запрос PUT/PATCH выполняет операцию UPDATE.

4. УДАЛИТЬ

Этот запрос используется для удаления ресурса с сервера. Если вы выполняете запрос DELETE, сервер удаляет запись в базе данных и сообщает вам, успешно ли удаление. Другими словами, запрос DELETE выполняет операцию DELETE.

Хорошо, я понял. Можете ли вы показать мне пример использования RESTful API в приложении?

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

Давайте посмотрим на пример с Allogic, где мы используем RESTful API для создания нашего серверного приложения:

1. Создайте свои модели баз данных

2. Определите свою бизнес-логику (услуги)

3. Создайте конечные точки RESTful и свяжите их со своими службами.

В этом случае при отправке POST-запроса по пути «/posts/{postId}/comments» (3-е фото) сработает «Добавить комментарий к почтовому сервису» (2-е фото). ), который создает объект комментария в модели «комментарии» в нашей базе данных (1-е фото) с заданными входными данными.

Это логика ваших серверных приложений. Вы можете легко создавать сложные серверные приложения и подключать их к внешнему интерфейсу с помощью клиентской библиотеки Allogic.

Что такое JSON?

JSON (нотация объектов JavaScript) — это облегченный формат обмена данными. Людям легко читать и писать.

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

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

JSON поддерживает следующие две структуры данных;

  • Набор пар имя/значение
  • Упорядоченный список значений — включает массивы, списки, последовательности и т. д.

Пара имя/значение состоит из имени поля (в двойных кавычках), двоеточия и значения. Таким образом, в приведенном ниже примере имя — «firstName», а значение — «Джон».

Пример: «имя»: «Джон»

Вам нужно поместить текстовые значения между двойными кавычками. Для чисел, логических значений или нулевых значений вам не нужны двойные кавычки.

Пример: «возраст»: 24 года.

В JSON значения должны быть одного из следующих типов данных:

  • String — строки в формате JSON должны быть заключены в двойные кавычки.
  • Число — числа в формате JSON должны быть целыми числами или числами с плавающей запятой.
  • Объект (объект JSON) — значения в JSON могут быть объектами. Однако объекты как значения в JSON должны соответствовать тем же правилам, что и объекты JSON.
  • Массив — значения в JSON могут быть массивами. Значения массива предоставляются между []
  • Boolean — значение true или false.
  • Null — пустое значение или нет значения.

Пример использования в Allogic Tester

Вы можете отправить запрос POST по пути «/posts», чтобы запустить службу «Создать объект сообщений», которая создаст объект сообщений в модели сообщений в базе данных с входными данными, отправленными в формате JSON:

Спасибо за прочтение! Подпишитесь на Altogic, чтобы получить больше подобного контента, образцы полнофункциональных приложений с полным набором ресурсов и руководств.