JAX-RS Jersey JSON ObjectMapper 配置被忽略
我有以下代码来更改杰克逊的财产。我使用 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
将此类添加到 javax.ws.rs.core.Application 的类列表中:
Add this class to your javax.ws.rs.core.Application's classes list: