JAX-RS Jersey JSON ObjectMapper 配置被忽略

发布于 2024-12-27 23:53:20 字数 685 浏览 1 评论 0原文

我有以下代码来更改杰克逊的财产。我使用 XMLRootElements 注释这些类,并让 Jersey 使用 jackson 将其转换为 JSON。

类带有 JAXB 注释。

@Provider
@Produces("application/json")
public class JacksonObjectMapper implements ContextResolver<ObjectMapper> {
private ObjectMapper objectMapper;

     public JacksonObjectMapper() throws Exception {
        objectMapper.configure( DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
    }

@Override
    public ObjectMapper getContext(Class<?> type) {
         return this.objectMapper;
    }
}

如果我在球衣之外使用杰克逊(即:使用他自己的功能),上面的配置将按预期工作,但如果我在泽西应用程序内使用它,则配置选项将被忽略。

有没有办法指示 Jersey 使用我的类将 XML 序列化/反序列化为 JSON?

I've the following code to change a property in Jackson. I'm annotating the classes with XMLRootElements and letting Jersey convert it to JSON, using jackson.

Classes are JAXB annotated.

@Provider
@Produces("application/json")
public class JacksonObjectMapper implements ContextResolver<ObjectMapper> {
private ObjectMapper objectMapper;

     public JacksonObjectMapper() throws Exception {
        objectMapper.configure( DeserializationConfig.Feature.ACCEPT_EMPTY_STRING_AS_NULL_OBJECT, true);
    }

@Override
    public ObjectMapper getContext(Class<?> type) {
         return this.objectMapper;
    }
}

The configuration above, works as expected if I use Jackson outside jersey (i.e: using his own function), but If I use it inside a Jersey app, the configuration options are ignored.

Is there a way to instruct Jersey to use my class to serialize / deserialize from XML to JSON?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

jJeQQOZ5 2025-01-03 23:53:20

将此类添加到 javax.ws.rs.core.Application 的类列表中:

application.addClass(JacksonObjectMapper.class)

Add this class to your javax.ws.rs.core.Application's classes list:

application.addClass(JacksonObjectMapper.class)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文