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