gpt4 book ai didi

spring-data-rest - 如何使用 @FeignClient 映射 HAL JSON _embedded 集合

转载 作者:行者123 更新时间:2023-12-04 08:32:04 26 4
gpt4 key购买 nike

我们正在尝试使用 spring-cloud @FeignClient 从另一个微服务调用微服务的 HAL-JSON REST API。该服务使用 Spring Data Rest、Spring Boot 1.4 实现,默认启用 Hateoas。

在客户端使用专用 DTO,所有简单属性都已正确映射,但忽略了特定于 HAL 的 _embedded 集合。

主要取自 this post ,我们实现了一个自定义的Feign Decoder 和相应的ObjectMapper,使用经常提到的Jackson2HalModule,但这仍然没有解决我们的问题。

您可以使用 this sample project 重现问题,其中更详细地描述了问题。

我们感谢有关此问题的任何帮助或提示!提前致谢

最佳答案

我认为理解如何反序列化的关键是您的 Customer 是嵌入关系的 Resources 类。因此,您需要将其反序列化为 Resources,以便 HalResourcesDeserializer 提取它。

我让它以这种方式工作。

@Getter
@Setter
public class Customer extends Resources<Resource<Relation>> {

public static enum Type {
PERSON, INSTITUTION
}

private String displayName;

private Integer rating;

private Type type;

public Collection<Resource<Relation>> getRelations() {
return this.getContent();
}
}

这看起来还是有点奇怪,我不确定这是否是最好的解决方案。

关于spring-data-rest - 如何使用 @FeignClient 映射 HAL JSON _embedded 集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42698024/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com