Логотип YeaHub

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

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

Тренажёр

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

Обучение

Навыки

Задачи

Войти

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

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

© 2026 YeaHub

AI info

Карта сайта

Документы

Медиа

Назад
Вопрос про Python: http, rest

Разница между POST, PUT и PATCH?

Проверяет понимание семантики HTTP-методов для модификации данных.

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

  • POST: Создаёт новый ресурс (например, добавить товар в корзину).

  • PUT: Полностью заменяет ресурс (перезаписать профиль пользователя).

  • PATCH: Частично обновляет ресурс (изменить только email пользователя).

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

Детальное сравнение:

  1. POST (Создание):

    • Не идемпотентный (повторный запрос создаст дубликат).

    • Пример:

      POST /cart/items
      Body: {"product_id": 123, "quantity": 2}
  2. PUT (Полная замена):

    • Идемпотентный (многократный вызов даёт одинаковый результат).

    • Требует отправки ВСЕХ полей ресурса.

    • Пример:

      PUT /users/123
      Body: {"name": "Alice", "email": "alice@example.com"}  -- Полный объект
  3. PATCH (Частичное обновление):

    • Идемпотентный (если корректно реализован).

    • Обновляет только переданные поля.

    • Пример:

      PATCH /users/123
      Body: {"email": "new@example.com"}  -- Только email

Важно:
Сервер должен проверять, что PUT/PATCH не нарушают целостность данных (например, уникальность email).

Вывод:
Используйте правильные методы для предотвращения ошибок.

  • Аватар

    Python Guru

    Sergey Filichkin

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

Уровень

  • Рейтинг:

    2

  • Сложность:

    6

Навыки

  • Python

    Python

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

#http

#rest

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

  • Аватар

    Python Guru

    Sergey Filichkin

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