REST (Representational State Transfer) API, иногда называемый RESTful AP, — это API, который использует HTTP-запросы для доступа и использования ресурсов.

Эти ресурсы часто представлены в формате JSON, хотя в некоторых случаях используются форматы XML, текст и HTML. REST API стали стандартным способом для приложений обмениваться данными по сети с помощью методов HTTP, таких как GET, PUT, POST и DELETE. Они облегчают создание, чтение, обновление и удаление ресурсов, обычно называемых операциями CRUD.

В этом руководстве рассказывается, как вы можете использовать Node. JS для создания простого CRUD Restful API.

Что вам нужно следовать

Убедитесь, что на вашем локальном компьютере установлен Node.js. Бегать узел -v чтобы проверить, является ли Node. JS установлен. Эта команда должна вернуть номер версии.

Связанный: Как установить Node.js в Windows

У вас также должен быть рабочий экземпляр вашего любимого Текстовый редактор (например, код VS).

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

Создайте папку для своего приложения и перейдите к ней. На терминале и в только что созданном каталоге инициализируйте

instagram viewer
пакет.json запустив нпм инициал.

$npm инициализация -y 

То пакет.json поможет вам установить и управлять пакетами npm. То flag создает файл package.json, используя параметры по умолчанию, без необходимости настраивать отдельные детали. Вывод на вашем терминале должен выглядеть так. Обратите внимание, что имя будет отличаться в зависимости от того, как вы назвали свою папку.

Настройте сервер

Чтобы создать сервер, сначала установите Express.js и Nodemon. Express.js — это узел. Js Framework, который был разработан для упрощения разработки веб-приложений и API. Вы будете использовать его для настроить сервер и конечные точки API. С другой стороны, Nodemon — это инструмент разработки, который перезапустит ваш сервер при изменении кода вашего приложения.

Выполните следующую команду для установки выражать и нодмон:

npm я выражаю nodemon 

Далее, чтобы создать свой сервер, создайте файл и назовите его сервер.js затем добавьте следующий код.

// Требуется экспресс
константный экспресс = требуется ("экспресс");
// Инициализировать экспресс
константное приложение = экспресс();
постоянный ПОРТ = 8080;
// разбираем JSON
app.use(express.json());
// анализировать закодированные данные URL
app.use(express.urlencoded({extended: true}));
// создаем сервер
app.listen (ПОРТ, () => {
console.log(`Сервер работает на порту ${PORT}`);
});

В приведенном выше коде требуется выразить в вашем сервер.js файл и инициализировать его. Затем настройте экспресс для синтаксического анализа данных в формате JSON и URL-адресов. Наконец, создайте сервер, используя Слушать() метод от Экспресс.

Связанный: Что такое Express.js и почему вы должны его использовать?

Начало работы: создание массива для хранения пользовательских данных

Для простоты вы будете использовать не базу данных, а простой пользовательский массив. В файле app.js добавьте следующий код после строки, анализирующей данные, закодированные в URL-адресе.

постоянные пользователи = [{
идентификатор: 1,
имя: "Джейн Доу",
возраст: "22",
},
{
идентификатор: 2,
имя: "Джон Доу",
возраст: "31",
}];

Связанный: Как создать базу данных и коллекцию в MongoDB

Как настроить маршруты в Express.js

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

app.post('/create', (req, res) => {
// Создаем пользователя
});
app.get('/users', (req, res) => {
// Извлекает всех пользователей
});
app.get('/user/:userID', (req, res) => {
// Возвращает пользователя по ID
});
app.put('/user/:userID', (req, res) => {
// Обновить пользователя по ID
});
app.delete('/delete/:userID', (req, res) => {
// Удалить пользователя по ID
});
app.delete('/users', (req, res) => {
// Удалить всех пользователей
});

Как выполнять CRUD-операции в Node. Js

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

Связанный: Как выполнять операции CRUD в MongoDB

Как создать нового пользователя

Чтобы создать нового пользователя, вам необходимо:

  • Проверьте, не пусто ли тело запроса — если да, отправьте ответ об ошибке.
  • Извлеките пользовательские данные из тела запроса.
  • Подтвердите данные пользователя.
  • Поместите пользовательские данные в массив.

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

Отредактируйте маршрут POST, как показано ниже.

app.post("/create", (req, res) => {
// Проверяем, пусто ли тело запроса
если (!Object.keys (req.body).length) {
вернуть res.status (400).json({
сообщение: "Тело запроса не может быть пустым",
});
}
// Используем деструктуризацию объекта для получения имени и возраста
const {имя, возраст} = req.body;
если (!имя || !возраст) {
res.status (400).json({
сообщение: "Убедитесь, что вы отправили и имя, и возраст",
});
}
константный новый пользователь = {
идентификатор: пользователи.длина + 1,
название,
возраст,
};
пытаться {
users.push(новыйпользователь);
res.status (201).json({
сообщение: "Успешно создан новый пользователь",
});
} поймать (ошибка) {
res.status (500).json({
сообщение: "Не удалось создать пользователя",
});
}
});

Как читать пользователей

Чтобы получить всех пользователей, верните массив пользователей в свой ответ.

app.get("/users", (req, res) => {
пытаться {
res.status (200).json({
пользователи
});
} поймать (ошибка) {
res.status (500).json({
сообщение: "Не удалось получить всех пользователей",
});
}
});

Если вы протестируете этот маршрут с помощью почтальона, вы должны получить массив пользователей в теле ответа.

Чтобы получить только одного пользователя:

  • Получите идентификатор пользователя из параметра URL.
  • Использовать найти() чтобы определить, какие именно пользовательские данные вы запрашиваете.
  • Верните пользователя в ответ.
app.get("/users/:userID", (req, res) => {
const id = parseInt (req.params.userID);
console.log(идентификатор);
пытаться {
let user = users.find((user) => идентификатор user.id);
если (!пользователь) {
вернуть res.status (404).json({
сообщение: "Пользователь не найден",
});
}
res.status (200).json({
Пользователь,
});
} поймать (ошибка) {
res.status (500).json({
сообщение: "Не удалось получить пользователя",
});
}
});

Как обновить пользователей

Чтобы обновить пользователя:

  • Получите идентификатор пользователя из URL-адреса.
  • Использовать найти() чтобы проверить, существует ли пользователь.
  • Использовать индекс чего-либо() чтобы получить индекс пользователя, на который ссылаются.
  • Используйте индекс для редактирования пользовательских данных с данными, отправленными через тело запроса.
app.put("/users/:userID", (req, res) => {
пытаться {
const id = parseInt (req.params.userID);
let user = users.find((user) => идентификатор user.id);
если (!пользователь) {
вернуть res.status (404).json({
сообщение: "Пользователь не найден",
});
}
const userIDX = users.indexOf (пользователь);
пользователи[userIDX].name = req.body.name || пользователи[userIDX].имя;
пользователи[userIDX].age = req.body.age || пользователи[userIDX].age;
res.status (200).json({
сообщение: "Успешно обновлен пользователь",
Пользователь,
});
} поймать (ошибка) {
res.status (500).json({
сообщение: "Не удалось получить пользователя",
});
}
});

Как удалить пользователей

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

Чтобы удалить одного пользователя:

  • Получить идентификатор пользователя из URL-адреса
  • Использовать найти() чтобы проверить, существует ли пользователь
  • Использовать найтиИндекс() чтобы получить индекс пользователя, на который ссылаются.
  • Использовать соединение () чтобы удалить пользователя по этому индексу.
app.delete("/users/:userID", (req, res) => {
пытаться {
постоянный идентификатор = req.params.userID;
пусть userIDX = users.findIndex((user) => идентификатор user.id);
если (!userIDX) {
res.status (404).json({
сообщение: "Пользователь не найден",
});
}
users.splice(userIDX, 1);
res.status (200).json({
сообщение: "Успешно удален пользователь",
пользователи,
});
} поймать (ошибка) {
res.status (500).json({
сообщение: "Не удалось удалить пользователя",
});
}
});

Чтобы удалить всех пользователей, соедините весь массив.

app.delete("/users", (req, res) => {
пытаться {
users.splice(0,users.length);
res.status (200).json({
сообщение: "Успешно удалены все пользователи",
пользователи,
});
} поймать (ошибка) {
res.status (500).json({
сообщение: "Не удалось удалить пользователей",
Икс,
});
}
});

Узнайте больше об API RESTful

В этом руководстве обсуждается, как создать базовый RESTful API в Node. JS. Вы научились создавать сервер Express, настраивать маршруты и, наконец, создавать функции-обработчики, взаимодействующие с вашими данными посредством HTTP-запросов/ответов.

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

Как база данных MongoDB может лучше организовать ваши данные

MongoDB (от «огромный») — кроссплатформенная документоориентированная база данных, используемая в качестве альтернативы MySQL. Но что это значит?

Читать далее

доляТвитнутьЭлектронное письмо
Похожие темы
  • Программирование
  • JavaScript
  • API
Об авторе
Мэри Гатони (опубликовано 2 статьи)

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

Еще от Мэри Гатони

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку технических советов, обзоров, бесплатных электронных книг и эксклюзивных предложений!

Нажмите здесь, чтобы подписаться