JAXB Marshalling & Unmarshalling - PullRequest
       0

JAXB Marshalling & Unmarshalling

2 голосов
/ 19 сентября 2011

Я пытаюсь изучить, как работает сервис REST с использованием Джерси.

Я предложил 2 варианта при создании и доступе к REST-сервису. У меня есть 6 параметров, которые все строки

  1. Передать данные в виде длинной строки, разделенной запятыми, и на стороне сервера разделить ее.
  2. Используйте JAXB и делайте Marshalling и Unmarshalling.

Я понимаю, что 1-й вариант будет самым быстрым, но знает ли кто-нибудь, насколько он будет быстрее, чем 2-й вариант, и является ли это безопасным и эффективным способом сделать это.

  • Было бы неплохо, если бы кто-нибудь упомянул еще возможные варианты ..

Спасибо

Ответы [ 2 ]

2 голосов
/ 20 сентября 2011

Вам понадобится написать свой собственный MessageBodyReader / Writter, если вы хотите строку через запятую.Также вам нужно убедиться, что сам параметр не содержит запятой и т. Д. Не то, чтобы это был блокировщик - просто отметьте это.

Вы также можете использовать низкоуровневый маршалинг / демаршалинг JSON с помощью Jettison- это также должно быть довольно быстро.Или используйте Джексона.См. Различные параметры сопоставления JSON в Руководстве пользователя по Джерси .

Просто для полноты, другим вариантом может быть использование формы (которая по сути является картой String-> List) - если вы используетечто нет необходимости в специальном MessageBodyReader / Writter - Джерси будет обрабатывать его для вас.Вам просто нужно аннотировать свои методы с помощью @ Produce / @ Consume ("application / www-form-urlencoded").

1 голос
/ 19 сентября 2011

Примечание: Я EclipseLink JAXB (MOXy) и являюсь членом JAXB 2 ( JSR-222 )) группа экспертов.

Использование реализации JAXB с Джерси даст вам возможность передать сообщение XML или JSON, с которым многим клиентам будет легко взаимодействовать.Изобретать собственный формат ради неизвестного прироста производительности, скорее всего, является ненужной микрооптимизацией.

Вот пример, который я собрал, используя Jersey & MOXy в GlassFish:

...