Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Задачи

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Node.js: CRUD, REST API, endpoints, HTTP methods

Как обычно строятся CRUD-эндпоинты для сущности?

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

Короткий ответ

CRUD-эндпоинты строятся по REST-принципам: для каждой сущности создаются маршруты, соответствующие HTTP-методам. POST /items создает запись, GET /items получает список, GET /items/:id получает одну запись, PUT или PATCH /items/:id обновляет, DELETE /items/:id удаляет. Это стандартный подход для построения API.

Длинный ответ

Основы CRUD в REST API

CRUD (Create, Read, Update, Delete) — это четыре базовые операции для работы с данными. В REST API каждой операции соответствует свой HTTP-метод и URL-шаблон. Обычно для сущности используется один базовый путь, например /items, а конкретная запись идентифицируется по ID в пути.

Стандартные эндпоинты

  • Create (POST /items) — создает новую запись. Тело запроса содержит данные новой сущности. Возвращает созданную запись с присвоенным ID и статус 201.
  • Read (GET /items) — получает список всех записей. Может поддерживать фильтрацию, пагинацию и сортировку через query-параметры.
  • Read (GET /items/:id) — получает одну запись по ID. Возвращает 404, если запись не найдена.
  • Update (PUT /items/:id) — полное обновление записи. Тело запроса должно содержать все поля. PATCH /items/:id — частичное обновление, только переданные поля.
  • Delete (DELETE /items/:id) — удаляет запись. Обычно возвращает 204 No Content или 200 с подтверждением.

Пример на Express.js

const express = require('express');
const router = express.Router();

let items = [];
let nextId = 1;

// Create
router.post('/', (req, res) => {
  const item = { id: nextId++, ...req.body };
  items.push(item);
  res.status(201).json(item);
});

// Read all
router.get('/', (req, res) => {
  res.json(items);
});

// Read one
router.get('/:id', (req, res) => {
  const item = items.find(i => i.id === parseInt(req.params.id));
  if (!item) return res.status(404).json({ error: 'Not found' });
  res.json(item);
});

// Update
router.put('/:id', (req, res) => {
  const index = items.findIndex(i => i.id === parseInt(req.params.id));
  if (index === -1) return res.status(404).json({ error: 'Not found' });
  items[index] = { id: items[index].id, ...req.body };
  res.json(items[index]);
});

// Delete
router.delete('/:id', (req, res) => {
  const index = items.findIndex(i => i.id === parseInt(req.params.id));
  if (index === -1) return res.status(404).json({ error: 'Not found' });
  items.splice(index, 1);
  res.status(204).send();
});

module.exports = router;

Вывод

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

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию

Уровень

  • Рейтинг:

    5

  • Сложность:

    2

Навыки

  • Node.js

    Node.js

  • Express

Ключевые слова

#CRUD

#REST API

#endpoints

#HTTP methods

Подпишись на React Developer в телеграм

Frontend developer

tech
tech
tech
tech
tech
tech
tech
tech
tech

Ментор по Frontend

Полное сопровождение до оффера — без дорогих курсов, с оплатой после трудоустройства

Записаться на консультацию