问题描述
我的项目使用 JSON-B 和 JAX-RS。我使用的框架是 Quarkus 并使用 Java 11。我尝试升级到 Java 16 并使用 Java Records。看来 JSON-B 和 Records 不能很好地工作。
我尝试过@JsonbCreator。但是这个注解只适用于单个构造函数。
我还尝试使用 Apache Johnzon,如下所示 (https://adambien.blog/roller/abien/entry/java_14_java_record_json)。但是 Quarkus Resteasy 没有 Johnzon 绑定。
是否有允许我切换到 Java 记录的解决方案?
谢谢
解决方法
Quarkus 使用 Eclipse Yasson 作为其 JSON-B 实现,目前 Yasson 不支持 Records。 不过,这可能很快就会改变,请参阅 this 问题。
如果您愿意放弃 JSON-B,您可以将 Jackson 与 Quarkus 一起使用并获得 Records 支持,因为 Jackson 自版本 2.12
起就支持它们