Создание и развертывание фальшивого сервера REST API для CRUD с помощью Nodejs за 5 минут

*Статья опубликована с использованием bloggu.io. Попробуйте бесплатно.*В ходе недавних интервью с React я столкнулся с необходимостью создания API для выполнения операций CRUD.

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

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

## Требования

На вашей машине должен быть установлен Nodejs, а также у вас должен быть аккаунт на Heroku.

Настройка

Создадим рабочую директорию и инициируем проект Nodejs.

mkdir fake-server && cd fake-server
yarn init
Вход в полноэкранный режим Выйдите из полноэкранного режима

Вам будет задано несколько вопросов для некоторых записей в package.json. Вот структура package.json для этого проекта.

{
  "name": "fake-server",
  "version": "1.0.0",
  "license": "MIT",
  "main": "server.js",
  "scripts": {
    "start": "node server.js"
  }
}
Вход в полноэкранный режим Выход из полноэкранного режима

Установим json-server в проект.

yarn add json-server
Войти в полноэкранный режим Выход из полноэкранного режима

Отлично! Теперь мы можем перейти к написанию файла server.js.

Написание сервера

Файл server.js будет содержать логику для запуска сервера и загрузки промежуточного программного обеспечения json-server.

const jsonServer = require('json-server');
const server = jsonServer.create();
const router = jsonServer.router('db.json'); // <== Will be created later
const middlewares = jsonServer.defaults();
const port = process.env.PORT || 3200; // <== You can change the port

server.use(middlewares);
server.use(router);

server.listen(port);
Вход в полноэкранный режим Выход из полноэкранного режима

Далее нам нужно создать файл db.json. Это файл, содержащий данные в формате JSON. json-server автоматически создаст маршруты и схему для ресурсов со структурой файлов JSON, а затем разрешит операции CRUD над ресурсами.

Данные для этой статьи взяты из Mockaroo.

Структура db.json выглядит следующим образом.

{
  "resources1": [
     // JSON data
  ],
  "resources2": [
     // JSON data
  ]
}
Войти в полноэкранный режим Выход из полноэкранного режима

Вот пример пользовательских данных для нашего проекта.

{
  "users": [
    {
      "id": 1,
      "name": "Aurelie Cheyne",
      "email": "acheyne0@simplemachines.org",
      "city": "Male",
      "username": "acheyne0",
      "website": "Redhold"
    },
    {
      "id": 2,
      "name": "Dael Leppo",
      "email": "dleppo1@mapy.cz",
      "city": "Non-binary",
      "username": "dleppo1",
      "website": "Cardify"
    },
    {
      "id": 3,
      "name": "Elnar Brahm",
      "email": "ebrahm2@wunderground.com",
      "city": "Female",
      "username": "ebrahm2",
      "website": "Matsoft"
    },
    {
      "id": 4,
      "name": "Shelby Feaver",
      "email": "sfeaver3@dion.ne.jp",
      "city": "Female",
      "username": "sfeaver3",
      "website": "Cardguard"
    },
    {
      "id": 5,
      "name": "Anthe Ivanishev",
      "email": "aivanishev4@va.gov",
      "city": "Female",
      "username": "aivanishev4",
      "website": "Bitchip"
    },
    {
      "id": 6,
      "name": "Shermy Clinton",
      "email": "sclinton5@abc.net.au",
      "city": "Male",
      "username": "sclinton5",
      "website": "Fixflex"
    },
    {
      "id": 7,
      "name": "Alma Romaint",
      "email": "aromaint6@sciencedirect.com",
      "city": "Male",
      "username": "aromaint6",
      "website": "Keylex"
    }
  ]
}
Вход в полноэкранный режим Выход из полноэкранного режима

Записав db.json, мы можем запустить сервер.

yarn start
Вход в полноэкранный режим Выход из полноэкранного режима

Сервер будет доступен по адресу http://localhost:3200.

И давайте проверим ресурс users по адресу http://localhost:3200/users/.

Данные доступны, но мы хотим их развернуть. Интересно, что вам может вообще не понадобиться развертывание, если вы выполняете операции только для чтения. Разместите код на Github, и ваши данные автоматически станут доступны по адресу: https://my-json-server.typicode.com/your_github_username/project_name.
Например, вы можете найти удаленный сервер для репозитория этого мини-проекта здесь.

Вы можете использовать полный CRUD, но предупреждение: данные не сохраняются при выполнении операций записи. Чтобы избежать этого, вы можете развернуть проект на Heroku.

Развертывание на Heroku

Развертывание на Heroku — это быстрый и простой процесс. Перед этим убедитесь в наличии файла .gitignore.

node_modules
Вход в полноэкранный режим Выйдите из полноэкранного режима

Затем убедитесь, что вы вошли в систему.

heroku login
Войти в полноэкранный режим Выйдите из полноэкранного режима

После этого создайте новый проект и выложите код.

heroku create
heroku buildpacks:set heroku/nodejs
Войти в полноэкранный режим Выход из полноэкранного режима

И давайте вытолкнем код на Heroku:

git push heroku master
Войти в полноэкранный режим Выйти из полноэкранного режима

И вот ваше приложение готово и работает. Вы также можете выполнять постоянные CRUD-операции.🤟

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

Хотите что-то добавить или у вас есть комментарии? Давайте обсудим это в разделе комментариев.

Оцените статью
Procodings.ru
Добавить комментарий