Я новичок во всех материалах JAXB/JAX-RS. На работе мы используем Mule ESB с его модулем Jersey/Jackson для приема входящих запросов REST. На стороне клиента мы используем RestEasy (с Джексоном)... Запрос должен быть в Json, а не в XML.
Он хорошо работает для простых объектов, содержащих только поля String. Но как только мы начинаем использовать более «сложные» типы, такие как Locales, enums или Maps, возникают проблемы.
Если я правильно понимаю, в JAXB нет встроенных сериализаторов для таких типов, как Map (я бы даже сказал «HashMap», поскольку JAXB плохо поддерживает интерфейсы, если я правильно понимаю). Таким образом, вы должны предоставить свои собственные сериализаторы для этих полей.
Из моих поисков в Интернете я увидел, что аннотацию @XmlJavaTypeAdapter можно использовать для управления вашей собственной сериализацией типа "Карта". Но я также вижу в документации Джексона, что можно использовать аннотацию @JsonSerialize(using=MySerializer.class).
Что мы должны использовать и почему? @XmlJavaTypeAdapter или @JsonSerialize? Они одинаковые или у них разное назначение?