>> "не будет возможности выбирать данные на клиенте без изменения кода сервера" - это как раз хорошо, ибо надёжно
это твоё надёжно обычно заканчивается тем, что клиент сделает 10 запросов, чтобы забрать данные, вместо одного.
"это твоё надёжно обычно заканчивается тем, что клиент сделает 10 запросов, чтобы забрать данные, вместо одного." - нет, под эту задачу пилится эндпоинт, который заоптимизирован под выборку этих данных. Под капотом там может вызываться и хранимая процедура, например.