🔥
HTTP-методы в REST API: это спросят на собеседовании 🔥
GET, POST, PUT, PATCH и DELETE - виды методов, часть протокола HTTP. Используются в архитектурном стиле REST API.
Нужны, чтобы стандартизировать взаимодействие между клиентом и сервером.
Каждый метод выполняет определённое действие и соответствует логике CRUD-модели (Create, Read, Update, Delete).
🩷
GET - Чтение данныхНе поддерживает тело - Body (JSON).
Идемпотентен.
💚 POST - Создание ресурсов (объектов в БД)Поддерживает тело - Body (JSON).
Не идемпотентен.
* Исключения, когда POST используют для чтения: сложные запросы с большим кол-вом фильтров, асинхронные операции.** Почему в некоторых REST API все POST? Потому что они не REST API, а HTTP API.💙 PUT - Полная замена и/или создание ресурсаВ теле JSON требует полный объект.
Идемпотентен.
* Часто используют только для изменения.
💜 PATCH - Частичное обновление ресурсаВ теле JSON передаются только те поля объекта, которые нужно изменить.
Не идемпотентен.
❤️ DELETE - Удаление ресурса.
Не поддерживает тело - Body (JSON).
Идемпотентен.
💛 А что по поводу TRACE, HEAD, OPTIONS, CONNECT?Могут быть заменены GET-ом.
Очень маленький шанс встретить или применить на практике.
Правильное использование HTTP-методов в REST API упрощает взаимодействие с вашей системой, так как делает API предсказуемым и удобным для разработчиков.
P.S. Ссылка на подкаст про идемпотентность и коммутативность в API
#hardGetAnalyst