Quantcast
Channel: Envato Tuts+ Code - Web Development
Viewing all articles
Browse latest Browse all 197

Создание фейкового REST API с помощью json-server-а

$
0
0

В этом уроке, с помощью json-server-а вы научитесь создавать и взаимодействовать с фейковым REST API, который будет полезен при разработке как мобильных, так и веб приложений. Данный урок предполагает, что у вас есть базовые знания о работе с форматом JSON и HTTP запросами.

Что такое REST?

REST — это сокращение от англ. Representational State Transfer (передача состояния представления). Это архитектурный стиль взаимодействия компонентов распределённых приложений. Он предназначен для взаимодействия множества устройств путём выполнения простых HTTP запросов.  В результате этого пользовательские данные актуализируются не за счёт простого обращения к URL, а за счёт отправки разных видов HTTP запросов, таких как: GET, POST, DELETE и т.д. для достижения определённых целей.

К примеру, вместо GET обращения к URL вида /deleteuser?id=10, запрос будет выглядеть так: DELETE /user/10.

Зачем нам нужен фейковый REST API?

REST API может являться бэк-энд стороной любого мобильного или веб приложения. Зачастую во время разработки, REST API попросту не готов.  Чтобы увидеть мобильное или веб приложений в действии вам потребуется сервер, которые будет возвращать случайные данные в формате JSON.

Вот тут-то нам и пригодится фейковый REST API. Инструмент json-serverобладает набором нужного функционала, чтобы вы смогли без особых усилий настроить фейковый REST API сервер.

Начало работы

Чтобы начать работу с json-serverвам потребуется его установить через Менеджер пакетов Node (npm).

Создайте JSON файл в котором приведите пример требуемого формата возвращаемых данных. К примеру, мне потребуется JSON данные о пользователе: идентификатор, имя, расположение и т.д.. Я создам файл info.jsonсо следующим JSON кодом:

Запускаем сервер через командную строку, указывая файл info.jsonв качестве источника данных REST API, доступных по адресу http://localhost:3000.

Тестирование точек входа REST API

Теперь когда фейковый REST API сервер запущен давайте посмотрим как осуществить запрос, используя HTTP клиент. Для создания запросов к API я воспользуюсь инструментом Postman.

Запросы типа GET

Давайте начнём с создания GETзапроса к REST URL. В созданном нами JSON файле мы определили точку входа под названием users, в которой соответственно хранится информация о пользователях.  В результате выполнения GETзапроса к URL http://localhost:3000/usersмы должны получить список существующих данных.

Запросы типа POST

Для того чтобы добавить новые данные к уже существующим необходимо совершить POSTзапрос к URL http://localhost:3000/users. POSTзапрос должен выглядеть следующим образом:

POST RequestPOST RequestPOST Request

После повторного выполнения GETзапроса вы должны увидеть новые данные, которые были добавлены в файл info.json.

Запросы типа DELETE

Для удаления данных из json-server, вам необходимо отправить DELETEзапрос к соответствующей точке входа и передать идентификатор пользователя.  К примеру, чтобы удалить пользователя с Id 1, вам необходимо отправить DELETEзапрос по адресу http://localhost:3000/users/1. Чтобы убедиться что пользователь был удалён выполните GETзапрос.

Запрос типа PATCH

Для того чтобы обновить уже существующую запись необходимо отправить PATCHзапрос с указанием новых значений для уже существующей записи. К примеру, чтобы обновить пользователя с Id 2, отправьте PATCHзапрос по адресу http://localhost:3000/users/2:

Patch Request Patch Request Patch Request

Организация поиска в json-server REST API

json-server REST API позволяет вам осуществить поиск данных, по определённым критериям. К примеру, чтобы найти всех пользователей по имени необходимо отправить GET запрос к REST API URL как это показано ниже:

Sending a GET request to the REST API URL Sending a GET request to the REST API URL Sending a GET request to the REST API URL

Согласно изображению представленном выше, отправка GET запроса к URL http://localhost:3000/users?name=Shonaвернёт всех пользователей с именем Shona. Чтобы искать и по другим критериям необходимо добавить новые поля в строку запроса.

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

Full Text Search in json-server REST APIFull Text Search in json-server REST APIFull Text Search in json-server REST API

Работа с постраничным разбиением результатов

В случае работы с большим объёмом данных вам придётся столкнуться с информацией, распределённой по множеству страниц. json-serverсправится и с этой задачей, разбив JSON данные на множество частей.  По умолчанию на одной странице json-server-а выводится порядка десяти записей. Данное значение можно подправить, используя параметр _limit.

В результате выполнения GET запроса будет возвращено пять записей. Для того чтобы передвигать по страницам воспользуемся параметром _page. В _pageнеобходимо указать номер страницы данные которой необходимо извлечь.

В результате выполнения GET запроса представленного выше, будет выведен список из пяти пользователей со второй страницы. Изменение параметра _pageпозволит нам получить данные с нужной страницы.

Сортировка результата

Также json-serverпозволяет осуществить сортировку результата. Для этого необходимо указать нужное поле и направление.  По умолчанию данные сортируются в возрастающем порядке. Название сортируемой колонки необходимо указать в параметре _sort, а направление задать через ключевое слово _order. Пример подобного URL:

В этом примере сортировка будет осуществлена по колонке Id, в обратном порядке.

Работа с операторами

Вдобавок ко всему выше сказанному, json-serverподдерживает работу с операторами, с помощью которых можно осуществить поиск по Id в определённом диапазоне или по регулярному выражению.

Для поиска записей в определённом диапазоне значений необходимо воспользоваться параметрами _gteи _lte. К примеру, чтобы найти пользователей чьи идентификаторы равны от 1 до 2, необходимо совершить GET запрос по URL http://localhost:3000/users?id_gte=1&id_lte=2:

Handling Less Than Greater Than OperatorsHandling Less Than Greater Than OperatorsHandling Less Than Greater Than Operators

Для поиска имён, начинающихся с определённой буквы необходимо воспользоваться регулярным выражением. К примеру, чтобы найти пользователей чьи имена содержат последовательность букв sa, воспользуемся оператором _like, который припишем к URL и отправим через GETзапрос http://localhost:3000/users?name_like=^sa.

Handling Regular Expressions In OperatorsHandling Regular Expressions In OperatorsHandling Regular Expressions In Operators

Заключение

В этом уроке мы рассмотрели основы работы с json-server REST API для создания тестовой базы данных. Вы научились устанавливать json-serverи взаимодействовать с URL для добавления, обновления, изменения и удаления данных. Также вы увидели как осуществить поиск по записям, используя операторы и регулярные выражения.

Доводилось ли вам пользоваться json-server-ом или каким-либо другим инструментом для генерации фейковых REST API? Есть подобный опыт? Вы всегда можете рассказать об этом в комментариях, расположенных ниже.

2022-06-24 06:07:45 UTC2022-06-24 06:07:45 UTCRoy Agasthyan

Viewing all articles
Browse latest Browse all 197

Latest Images

Trending Articles





Latest Images