Получение выборочных полей в ответ при выполнении вызова покоя с использованием Springboot и симулированного клиента - PullRequest
0 голосов
/ 11 ноября 2019

Я пытаюсь сделать перерыв, используя Spring boot, в частности, используя FeignClient. Сущность, которую я получаю, очень большая. Таким образом, мне интересно, есть ли способ ограничить поля, которые я хочу получать, чтобы я не потреблял много сетевых ресурсов? Мое ограничение заключается в том, что я не могу вносить какие-либо изменения в услугу, которую я запрашиваю. Я могу вносить изменения только на моей стороне.

Пожалуйста, предложите.

Ответы [ 2 ]

0 голосов
/ 11 ноября 2019

Если вы используете Джексона для json, у Джексона есть аннотация @JsonIgnore, которую вы можете использовать

0 голосов
/ 11 ноября 2019

Если бы вы имели контроль над кодом API, вы могли бы использовать GraphQL (https://dzone.com/articles/a-beginners-guide-to-graphql-with-spring-boot), чтобы API возвращал только те поля, которые вам нужны. Но вы не можете изменить сущность, которую вы получаете отAPI в клиенте (если остальные API не поддерживают какие-то фильтры или параметры, которые будут возвращать определенное тело).

Если вам не нужно полное тело ответа, вам может не понадобиться создавать модель Java длявместо этого сопоставьте сущность, вы можете принять ответ как String, а затем использовать JSONOBject, чтобы извлечь только нужные вам поля, но опять же, это не уменьшит исходную полезную нагрузку.

...