Что делать, если параметров фильтрации и сортировки слишком много для передачи в URL?
Раньше для таких сценариев часто использовали:
POST /products/search
Фильтры, сортировку и пагинацию передавали JSON-объектом в теле запроса.
Теперь появился отдельный HTTP-метод для безопасного и идемпотентного поиска с телом запроса, вместо "костыля" с POST:
QUERY /products
🔵 К посту прикрепляю две полноценные постановки задачи - выгрузки из Confluence:
1️⃣ Поиск товаров через POST /products/search — вариант, подготовленный до появления QUERY.
2️⃣ Поиск товаров через QUERY /products — обновлённый пример с новым HTTP-методом (в этом документе также можно посмотреть, как супер-подробно описать требования к кэшированию результатов поиска).
💾 Скачивайте оба файла и сравнивайте:
✔️ как изменился endpoint
✔️ как передаются фильтры
✔️ как описывается контракт метода
✔️ какие требования важно зафиксировать для Backend
Когда на проекте появится поиск с десятками фильтров, у вас уже будет готовый образец постановки задачи — и для привычного POST, и для нового QUERY.
🔖 Обязательно сохраняйте этот новый образец требований по REST API в личный архив и поддержите пост ❤️🔥, если это то, что вам актуально
#RestApiGA #FarmFreshGA
📱 Tg | 💙 ВК | 💬 Max