Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про JavaScript: HTTP methods, REST API, CRUD, GET, POST, PUT, DELETE

Какие HTTP-методы используются в REST API и в чем их назначение?

Вопрос проверяет знание основных HTTP-методов, используемых в REST API, и их семантического назначения для корректного проектирования API.

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

В REST API основные HTTP-методы соответствуют операциям CRUD. GET используется для получения данных, POST — для создания нового ресурса, PUT — для полного обновления существующего ресурса, а DELETE — для его удаления. Метод PATCH применяется для частичного обновления. Эти методы обеспечивают единообразный интерфейс, что является ключевым принципом REST.

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

REST API использует стандартные HTTP-методы для выполнения операций над ресурсами, что делает интерфейс предсказуемым и соответствует принципу единообразного интерфейса. Каждый метод имеет строго определённую семантику, которую клиенты и серверы должны соблюдать для корректной работы.

Основные методы и их назначение

  • GET: Запрашивает представление ресурса. Должен быть безопасным (не изменять состояние сервера) и идемпотентным (повторные запросы дают тот же результат). Используется для чтения данных.
  • POST: Используется для создания нового ресурса. Не является ни безопасным, ни идемпотентным. Сервер обычно назначает новый URI для созданного ресурса.
  • PUT: Используется для полного обновления ресурса по известному URI. Если ресурс не существует, он может быть создан. Метод идемпотентен.
  • DELETE: Удаляет ресурс по указанному URI. Метод идемпотентен.
  • PATCH: Применяется для частичного обновления ресурса. Он не является идемпотентным по умолчанию, но должен быть реализован так, чтобы повторные запросы с теми же данными давали тот же результат.

Примеры использования в коде

Рассмотрим простой пример API для управления списком задач (To-Do).

// Получить список всех задач
fetch('/api/tasks', { method: 'GET' });

// Создать новую задачу
fetch('/api/tasks', {
  method: 'POST',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ title: 'Новая задача' })
});

// Полностью обновить задачу с id=1
fetch('/api/tasks/1', {
  method: 'PUT',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ title: 'Обновлённая задача', completed: true })
});

// Удалить задачу с id=1
fetch('/api/tasks/1', { method: 'DELETE' });

// Частично обновить задачу с id=1 (только поле completed)
fetch('/api/tasks/1', {
  method: 'PATCH',
  headers: { 'Content-Type': 'application/json' },
  body: JSON.stringify({ completed: true })
});

Где и как применяются

Правильное использование HTTP-методов критично для создания понятных, поддерживаемых и масштабируемых API. Это позволяет разработчикам и инструментам (например, Swagger/OpenAPI) автоматически генерировать документацию и клиентские библиотеки. Соблюдение семантики методов также важно для кэширования (особенно GET-запросов) и безопасности.

Вывод: Используйте стандартные HTTP-методы (GET, POST, PUT, DELETE, PATCH) в соответствии с их семантикой для проектирования чистых и предсказуемых RESTful API. Это упрощает интеграцию, улучшает понимание API другими разработчиками и позволяет задействовать встроенные возможности HTTP, такие как кэширование.

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.

Уровень

  • Рейтинг:

    4

  • Сложность:

    3

Навыки

  • JavaScript

    JavaScript

  • Node.js

    Node.js

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

#HTTP methods

#REST API

#CRUD

#GET

#POST

#PUT

#DELETE

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

  • Аватар

    iOS Guru

    Roman Isakov

    Guru – это эксперты YeaHub, которые помогают развивать комьюнити.