установка и использование jersey в Eclipse

#java #spring #jaxb #jersey #jax-rs

#java #spring #jaxb #jersey #jax-rs

Вопрос:

В моем веб-сервисе я использую eclipse, java 1.5, spring. теперь я хочу использовать jersey для REST и загрузил jersey в виде пакета jar с этого адреса:

http://jersey.java.net/nonav/documentation/latest/chapter_deps.html

Как я могу добавить этот jar в свой проект и начать использовать аннотации JAX-rs, которые я добавил в buildpath, но, похоже, не работает.

Также необходимо или хорошая идея создать аннотированные классы JAXB моих классов ресурсов и использовать их с JERSEY?

Ответ №1:

Убедитесь, что у вас есть jsr-311 jar в вашем classpath. Например, вы можете скачать его отсюда.

Jersey поддерживает JAXB «из коробки». Это не значит, что вы должны использовать JAXB. Если вам нужно сериализовать данные в / из xml, использование JAXB с Jersey является наиболее удобным.

Комментарии:

1. Спасибо! Я хочу использовать Json, тогда что вы предлагаете? Я понятия не имею, с чего начать, можете ли вы дать мне основные шаги, которые я должен выполнить, на данный момент у меня есть веб-сервис SOAP, и я хочу преобразовать его в REst Json

2. @jan Если вам нужен JSON, я предлагаю использовать Jackson с аннотациями JAXB. В Jackson есть встроенный провайдер JAX-RS, поэтому вам просто нужно убедиться, что он зарегистрирован. смотрите jackson.codehaus.org

3. Не могли бы вы объяснить немного подробнее, как я это сделаю: Джексон с аннотациями JAXB. Нужно ли мне создавать файлы ресурсов с нуля с помощью xjc?

4. Вы, вероятно, имеете в виду классы сущностей — классы, которые методы ресурсов получают в качестве параметров или возвращают. Вы можете сгенерировать их с помощью xjc, если у вас есть схема. Если нет, вы можете просто создать их, используя стандартные аннотации JAXB. Затем вам нужно убедиться, что у вас есть Jackson в вашем classpath, включить поддержку jax-rs и зарегистрировать поставщика Jackson JAXB. Объявляйте аннотации @Products и @Consumes с типом носителя JSON, и это все.