使用Springboot和feign客户端进行休息呼叫时获取选择性字段以作为响应

时间:2019-11-11 11:02:10

标签: java spring spring-boot feign

我正在尝试使用Spring Boot,特别是使用FeignClient打个电话。我收到的实体很大。因此,我想知道是否有一种方法可以限制我想接收的字段,以便不消耗太多网络资源?我的局限在于,我无法对所请求的服务进行任何更改。我只能在自己身边进行更改。

请提出建议。

2 个答案:

答案 0 :(得分:0)

如果您可以控制API代码,则可以使用GraphQL(https://dzone.com/articles/a-beginners-guide-to-graphql-with-spring-boot),以便API仅返回您需要的字段。但是您不能更改从API接收的实体在客户端中(除非其余api支持某种过滤器或参数,这些过滤器或参数将返回特定的正文)。

如果不需要整个响应主体,则可能不需要创建Java模型来映射实体,而是可以将响应作为字符串,然后使用JSONOBject仅提取您需要的字段,但是再次,这不会减少原始有效载荷。

答案 1 :(得分:-1)

如果您将杰克逊用于json,那么杰克逊会有注解@JsonIgnore您可以使用