В чем разница между POST, PUT и PATCH
Python
Middle
Без компании
В чем разница между POST, PUT и PATCH
Ответы
`POST`, `PUT` и `PATCH` — это HTTP-методы для работы с ресурсами, но они имеют разные семантики:
- **POST** — создает новый ресурс. Сервер решает, какой идентификатор присвоить. Повторные запросы могут создавать дубликаты.
Пример: добавление новой статьи в блог.
```
requests.post('https://api.example.com/articles', json={'title': 'New Post'})
```
- **PUT** — полностью заменяет ресурс по указанному URI. Если ресурса нет, сервер может создать его. Идемпотентен (повторные запросы не изменяют результат).
Пример: обновление всей статьи.
```
requests.put('https://api.example.com/articles/1', json={'title': 'Updated Post', 'content': '...'})
```
- **PATCH** — частично обновляет ресурс. Отправляются только изменяемые поля. Идемпотентность зависит от реализации.
Пример: изменение только заголовка статьи.
```
requests.patch('https://api.example.com/articles/1', json={'title': 'New Title'})
```
**Ключевое отличие**: `POST` — для создания, `PUT` — для полной замены, `PATCH` — для частичного обновления.