![](/img/trans.png)
[英]enabling auto scanning using resteasy 3.0.10 with wildfly 8.2
[英]Wildfly 8.2 Resteasy not Marshalling XMLRootElement
我正在将一个非常简单的Rest服务从jBoss 7.2更新到Wildfly 8.2,并遇到了一个问题,即从Resteasy转换为json的服务方法返回的对象不包括在对象上定义的XMLRootElement。
我正在使用maven并将所有Java库都设置为“提供”,因此请使用Wildfly中捆绑的版本。
我当前的jboss-deployment-structure.xml不包含或排除任何内容,但我尝试在jettison和jaxb之间切换,但始终遇到相同的问题。
有没有人看到这并找到解决方案,还是我错过了一些简单的东西?
预先感谢您的建议。
经过几个小时的挖掘和尝试,(在发布此问题之前),我发现添加以下类来配置映射器可以解决该问题。 似乎默认情况下,Resteasy不再包装根元素,因此您必须对其进行配置。
@Provider
public class ObjectMapperContextResolver implements ContextResolver<ObjectMapper>
{
private final ObjectMapper mapper;
public ObjectMapperContextResolver()
{
mapper = new ObjectMapper();
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true);
}
@Override
public ObjectMapper getContext(Class<?> type)
{
return mapper;
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.