Ну шо ви вже бачили новий HTTP метод QUERY?) тут RFC 10008 виглядає прям як спроба трохи полегшити життя тим, хто працює зі складними API-запитами.
https://www.rfc-editor.org/info/rfc10008/
Якщо я правельно зрозумів то
QUERY це ти щось QUERY /users
Content-Type: application/json
{
"status": "active",
"roles": ["admin", "qa"],
"sort": "-createdAt"
}
Тобто виглядає ми можем передати складний query у body, але сам метод при цьому задуманий як safe та idempotent. Для КУА тут виглядає цікаво те, що такі запити можна безпечніше retry-ити після network failure, а ще для них передбачено кешування.
Тобто умовно: GET - простий query через URL POST - ми виконуємо операцію через body а вже QUERY - робимо складний пошук через body без зміни стану ресурсу чи не?? І ще один момен який виглядає цікавий момент для тестування: типо для
QUERY важливий Content-Type. Якщо його немає або body йому не відповідає - сервер повинен повернути 4xx. Як на мене, виглядає реально зручно. Особливо для складних фільтрів, search API, великих запитів і випадків, коли URL вже перетворився в якусь магічну строку на пів екрана)Звісно Побачимо, наскільки швидко це почнуть підтримувати фреймворки, proxy, API Gateway і різні інструменти.
Обняв 🤗
Сильні 💛