【发布时间】:2019-11-11 11:02:10
【问题描述】:
我正在尝试使用 Spring Boot 进行休息调用,特别是使用 FeignClient。我收到的实体非常大。因此,我想知道有没有一种方法可以限制我想要接收的字段,这样我就不会消耗太多的网络资源?我的限制是我不能对我请求的服务进行任何更改。我只能在我身边做出改变。
请推荐。
【问题讨论】:
标签: java spring spring-boot feign
我正在尝试使用 Spring Boot 进行休息调用,特别是使用 FeignClient。我收到的实体非常大。因此,我想知道有没有一种方法可以限制我想要接收的字段,这样我就不会消耗太多的网络资源?我的限制是我不能对我请求的服务进行任何更改。我只能在我身边做出改变。
请推荐。
【问题讨论】:
标签: java spring spring-boot feign
如果您可以控制 API 代码,那么您可能会使用 GraphQL (https://dzone.com/articles/a-beginners-guide-to-graphql-with-spring-boot),以便 API 仅返回您需要的字段。但您无法更改您从 API 接收的实体客户端(除非其余 api 支持某种将返回特定主体的过滤器或参数)。
如果您不需要整个响应正文,则可能不需要创建 java 模型来映射实体,而是可以将响应作为字符串,然后使用 JSONOBject 仅提取您需要的字段,但随后同样,这不会减少原始有效负载。
【讨论】:
如果您将 Jackson 用于 json,那么 jackson 有注释 @JsonIgnore 您可以使用
【讨论】: