Как обрабатывать несколько профилей сортировки в RestEasy?

Я разработал приложение веб-сервисов RestFul, в котором RestEasy в настоящее время работает над Resteasy 2.3.5 и JBoss 4.3.2GA. Я хотел бы опубликовать выбранные атрибуты для выбранных пользователей моих веб-сервисов.

Например, вот объект User : User:{id=123, name=Jack, password=MyNameIsJack}

Когда пользователь веб-службы с профилем лямбда запрашивает объект Джек, мое приложение должно возвращать: {id=123, name=Jack}

Когда пользователь веб-службы с профилем admin запрашивает объект Jack, мое приложение должно возвращать: {id=123, name=Jack, password=MyNameIsJack}

Есть ли способ сделать это с помощью RestEasy Framework?

Спасибо


person Pdv    schedule 12.09.2013    source источник
comment
У нас есть функция под названием Object Graphs в EclipseLink JAXB (MOXy), которую вы можете интегрировать с RestEASY для получения желаемого поведения: blog.bdoughan.com/2013/03/   -  person bdoughan    schedule 13.09.2013
comment
Привет, Блейз, это кажется приемлемым решением. Однако я не очень понимаю, как EclipseLink должен интегрироваться с RestEasy lib. Некоторые классы, такие как JAXBContext, дублируются. Когда я пытаюсь получить JAXBContext, а затем использовать его с JAXBHelper из EclipseLink, я получаю следующее исключение: codeПредоставленный JAXBContext [класс com.sun.xml.bind.v2.runtime.JAXBContextImpl] не является EclipseLink JAXBContext и, следовательно, может не конвертируетсяcode Как мне тогда его использовать?   -  person Pdv    schedule 13.09.2013
comment
@BlaiseDoughan Я нашел другой способ сделать это с помощью MOXy. Что вы думаете об этом?   -  person Pdv    schedule 20.09.2013


Ответы (1)


Я попробовал решение, данное @Blaise Doughan, но ObjectGraph переопределяет существующее сопоставление на основе аннотаций в моем классе.

Я хотел расширить это сопоставление.

Поэтому я решил сделать это, расширив сопоставление аннотаций с помощью сопоставления xml. Согласно руководству Блейза, вы можете сделать это с помощью MOXy: расширение-jaxb-представление-аннотаций

Не забудьте написать файл jaxb.properties, в котором указывается, какую реализацию JAXB использовать: указание-eclipselink-moxy-as-your-JAXB-implementation

Он работает нормально для меня. Спасибо, Блейз!

person Pdv    schedule 20.09.2013