Есть ли способ скрыть параметры запроса url при использовании GET-запроса?
У меня есть страница на сайте с множеством фильтров/настроек, все они хранятся в JSON объекте. И эта страница отображает живые данные, поэтому производительность очень важна.
В настоящее время я отправляю POST-запрос для получения данных, но я знаю, что это не лучшее решение и нарушает принципы REST.
Итак, есть плюсы и минусы для обоих решений:
GET
Плюсы:
- Может использовать кэш (хорошо для производительности, что важно)
- Хорошо работает с REST
- Понятно для пользователя, он может видеть все свои настройки прямо в url.
Против:
- При таком количестве фильтров и настроек конечный url может стать очень длинным, это не то, что я хочу, и я думаю, что это плохо для пользователей.
POST
Плюсы:
- Чистый url, не отвлекающий пользователей
- Я могу просто сделать
queryset.filter(**request.data.items())
, это не совсем безопасно .
Против:
- Невозможно использовать кэширование