2016-10-27 4 views
1

Я пытаюсь настроить REST-сервис с Jersey 2.x, который потребляет JSON-ответ POST с помощью MOXy.Джерси MOXY JSON Нечувствительный к регистру Unmarshalling

Все работает нормально, пока все атрибуты JSON называются точно похожим на свойства моего POJO. Есть ли способ настроить MOXy так, чтобы он позволял без разборки без учета регистра? Например: сопоставьте JSON-атрибут «testid» с «TestID» в моем POJO.

POJO-Field - это верблюжьей кейс, но входящий JSON-атрибут может быть в любом случае, и мое устройство должно иметь возможность обрабатывать его, тем не менее.

Благодарим за помощь!

+0

Почему ваше поле pojo не верблюжье дело? – rmlan

+0

POJO-Field - это верблюжьей кейс, но входящий JSON-атрибут может быть в любом случае, и мое устройство должно иметь возможность обрабатывать его, тем не менее. – Dayasha

+0

Я никогда не пользовался Moxy, но я вполне уверен, что он поддерживает аннотации JAXB (даже для JSON). Таким образом, вы должны иметь возможность добавить '@XmlElement (name =" testid ")' в getter для поля и правильно настроить отображение. – rmlan

ответ

1

Без определения пользовательского unmarshaller (или разбор непосредственно из HttpServletRequest) можно определить только ожидаемое имя ключа, как было указано в комментарии rmlan с JAXB аннотацию @XmlElement(name="testid"). Однако это не защитит вашу службу от входа JSON с помощью клавиши «TestID» или «TESTID».

+0

Благодарим вас за ответ. Я думаю, что я перейду на Джексон, который обеспечивает поддержку без учета регистра (см. [Ссылка] (http://mtyurt.net/2015/07/27/case-insensitive-deserialization-in/)), поскольку этих аннотаций недостаточно , – Dayasha

Смежные вопросы