2011-12-29 6 views
0

Скажем, у меня есть класс java, представляющий собой «Собака» с attrbutes «Цвет» и «Тип», отмеченные тегами @XmlElement и @XmlRootElement. Как я могу добавить элемент xml «Age» в этот класс на основе JAXRS программно, не изменяя свой класс Dog с помощью @XmlAttribute(name="Age")?Как динамически добавлять элемент xml в представление JAXRS Java?

Предположим, у меня есть представление:

DogRepClass adog = new DogRepClass(); 
+0

Где значение атрибута возраста, определенное в вашей модели, в первую очередь? –

+0

Для XML это было бы как: Brown Немецкая овчарка Rolando

+0

Нет, я хотел, как он должен быть представлен в 'DogRepClass'? –

ответ

0

Вы можете определить свой собственный MessageBodyWriter (http://jsr311.java.net/nonav/javadoc/javax/ws/rs/ext/MessageBodyWriter.html) только для этого конкретного типа. Он может сортировать ваш экземпляр в DOM, затем модифицировать его и сериализовать. Нехорошо или элегантно, но это сработает.

0

Вам необходимо создать свой собственный MessageBodyWriter, но вместо того, чтобы создавать свои собственные с нуля, вы можете расширить его, чтобы обработать некоторые пользовательские аннотации, которые ваш писатель тела сообщения может распознать с помощью метода .entity(Object, Annotation[]). Таким образом, вы просто добавляете что-то конкретное для своих нужд

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