Uber-project for foundational modules of Jackson that build directly on core components but nothing else; not including data format or datatype modules
Apache License 2.0
167
stars
77
forks
source link
jackson-module-jaxb-annotations: can't use both @XmlElementWrapper and @XmlElement #213
Migrating an application from resteasy-jettison-provider to resteasy-jackson2-provider, but need to retain the JSON format. Can't configure JaxbAnnotationIntrospector to properly handle the case of @XmlElementWrapper + @XmlElementtogether. Depending on MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME, it either uses one or the other, but not both. Jettison's default behavior is to use both.
Example:
@XmlRootElement(name = "Parent")
public class Parent {
private List<Child> children = new LinkedList<>();
@XmlElementWrapper(name = "Children")
@XmlElement(name = "Child")
public List<Child> getChildren() {
return children;
}
public void setChildren(List<Child> children) {
this.children = children;
}
}
Migrating an application from resteasy-jettison-provider to resteasy-jackson2-provider, but need to retain the JSON format. Can't configure JaxbAnnotationIntrospector to properly handle the case of
@XmlElementWrapper
+@XmlElement
together. Depending on MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME, it either uses one or the other, but not both. Jettison's default behavior is to use both.Example:
Using Jettison:
Using JaxbAnnotationIntrospector with MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME enabled:
Using JaxbAnnotationIntrospector with MapperFeature.USE_WRAPPER_NAME_AS_PROPERTY_NAME disabled:
Test: https://bitbucket.org/alexlitovsky1/jaxb-annotations-bug/