首页 > 解决方案 > 通过 JSON-B + Jax-RS 使用 Java 记录

问题描述

我的项目使用带有 JAX-RS 的 JSON-B。我使用的框架是 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 Records 的解决方案?

谢谢

标签: javajax-rsquarkusjsonb-api

解决方案


Quarkus 使用Eclipse Yasson作为其 JSON-B 实现,目前 Yasson 不支持 Records。但是,这可能很快就会改变,请参阅问题。

如果您愿意放弃 JSON-B,您可以将 Jackson 与 Quarkus 一起使用并获得 Records 支持,因为 Jackson 从版本开始就支持它们2.12


推荐阅读