Создание RESTful API для управления пользователями с использованием Node.js

JavaScriptJavaScriptBeginner
Практиковаться сейчас

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом проекте вы научитесь разрабатывать RESTful API с использованием Node.js и Express.js. Проект заключается в создании простой системы управления пользователями, где можно получать список пользователей.

👀 Предварительный просмотр

curl http://localhost:8080/list
## Вывод:
## {"userlist":[{"id":"1","username":"zhangsan","password":"123456"},{"id":"2","username":"lilei","password":"456"},{"id":"3","username":"hanmeimei","password":"123"}]}

🎯 Задачи

В этом проекте вы научитесь:

  • настраивать проект Node.js и устанавливать зависимости;
  • создавать базовый сервер Express.js;
  • реализовывать конечную точку GET для получения списка пользователей из JSON-файла;
  • тестировать API с использованием cURL.

🏆 Достижения

После завершения этого проекта вы сможете:

  • понять основы разработки RESTful API;
  • настроить проект Node.js и установить необходимые зависимости;
  • создать простой сервер Express.js;
  • реализовать конечную точку GET для получения данных из JSON-файла;
  • протестировать API с использованием cURL.

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"]) javascript(("JavaScript")) -.-> javascript/ToolsandEnvironmentGroup(["Tools and Environment"]) javascript(("JavaScript")) -.-> javascript/NetworkingGroup(["Networking"]) javascript/DOMManipulationGroup -.-> javascript/dom_manip("DOM Manipulation") javascript/ToolsandEnvironmentGroup -.-> javascript/version_control("Version Control") javascript/NetworkingGroup -.-> javascript/http_req("HTTP Requests") javascript/NetworkingGroup -.-> javascript/json("JSON") javascript/NetworkingGroup -.-> javascript/api_interact("API Interaction") subgraph Lab Skills javascript/dom_manip -.-> lab-445684{{"Создание RESTful API для управления пользователями с использованием Node.js"}} javascript/version_control -.-> lab-445684{{"Создание RESTful API для управления пользователями с использованием Node.js"}} javascript/http_req -.-> lab-445684{{"Создание RESTful API для управления пользователями с использованием Node.js"}} javascript/json -.-> lab-445684{{"Создание RESTful API для управления пользователями с использованием Node.js"}} javascript/api_interact -.-> lab-445684{{"Создание RESTful API для управления пользователями с использованием Node.js"}} end

Настройка проекта

В этом шаге вы настроите проект и установите необходимые зависимости.

Начальный код для этого вопроса уже предоставлен. Откройте среду разработки, и структура каталогов будет следующей:

├── index.js
├── users.json
├── package.json
├── package-lock.json

Далее загрузите зависимости с помощью команды npm install в терминале, подождите, пока зависимости будут загружены, и запустите проект с помощью команды npm run dev.

Реализация конечной точки GET /list

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

  1. Откройте файл index.js в директории проекта.
  2. Найдите раздел TODO в файле и добавьте следующий код для реализации конечной точки GET /list:
//TODO
app.get("/list", function (req, res) {
  fs.readFile(
    path.resolve(__dirname, "./users.json"),
    "utf8",
    function (err, data) {
      data = JSON.parse(data);
      res.json(data);
    }
  );
});

Этот код читает файл users.json, разбирает JSON-данные и отправляет их в качестве ответа.

  1. Сохраните файл index.js.

Тестирование конечной точки GET /list

В этом шаге вы протестируете конечную точку GET /list, чтобы убедиться, что она работает правильно.

  1. Откройте новый терминал в среде лабораторной работы.
  2. Используйте команду curl для отправки GET-запроса на конечную точку /list:
curl http://localhost:8080/list

Вы должны увидеть следующий вывод, который представляет собой JSON-данные из файла users.json:

{"userlist":[{"id":"1","username":"zhangsan","password":"123456"},{"id":"2","username":"lilei","password":"456"},{"id":"3","username":"hanmeimei","password":"123"}]}

Если вы видите этот вывод, конечная точка GET /list работает правильно.

Поздравляем! Вы завершили проект и реализовали конечную точку GET /list для отображения списка пользователей.

✨ Проверить решение и практиковаться

Резюме

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