powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Приложение Rest+EJB+JPA
2 сообщений из 27, страница 2 из 2
Приложение Rest+EJB+JPA
    #38978286
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Столкнулся с небольшой проблемой (которая возможно надумана).

Суть в том, что я стремлюсь везде где-только можно сократить количество кода, путем вынесения общего функционала в супер-класс, параметризации и т. д.

Но сейчас вот стокнулся с такой штукой. Начал писать клиент для REST-приложения.

На Get-Запрос (/get/all) REST веб-сервис присылает список всех элементов того, что мы запрашиваем, например у нас есть 10 записей в таблице Custoьer и мы получаем xml из 10 записей типа <Customer>......</Customer>
но при этом все это дело обернуто в <CustomerDomains> ..... </CustomerDomains>
И если у меня есть 10 сущностей, то каждый root element имеет свое имя.

На стороне клиента, что распарсить это дело я завожу вот такой класс
Код: java
1.
2.
3.
4.
5.
6.
7.
@XmlRootElement(namespace = "customerDomains")
@XmlAccessorType(XmlAccessType.FIELD)
public class ListOfCustomers<X> {

    @XmlElement(name = "Customer")
    private List<X> list = null;
}


НУ и потом создаю JAXBContext и делаю unmarshal

И все прекрасно работает. НО мне не нравится, что мне придется заводить 10 таких классов, в каждом из которых я бы прописывал свой name для @XmlRootElement. Я пытался запихать туда переменную, придумать какие-то классы обертки, но не получилось.
И вот возникает у меня вопрос - забить болт и тупо сделать 10 одинаковых классов, отличающихся именем и полем name в @XmlRootElement или же есть какой-то способ обойти эту проблему и сделать один универсальный класс.
...
Рейтинг: 0 / 0
Приложение Rest+EJB+JPA
    #38978410
Geronemo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я немного укорочу свой последний вопрос, т. к. возможно он своими размерами и стилем многих отпугивает.

Суть в том, что мне нужно распарсить около 10 xml ответов от REST сервера.

Для этого я завел 10 классов, вот такого вида

@XmlRootElement(name=" customerDomains ")
@XmlAccessorType(XmlAccessType.FIELD)
class CustomerDomains {

@XmlElement(name=" Customer ")
private List< CustomerDomain > list = null;

public <X> X getList() {
return (X) list;
}
}

Все 10 классов имеют одинаковую структуру и отличаются лишь тем, что я выделил жирным. И это работает.

Но мне бы хотелось сделать 1 универсальный класс, который все выделенное жирным каким-либо образом параметризовал и подставлял строки.
...
Рейтинг: 0 / 0
2 сообщений из 27, страница 2 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Приложение Rest+EJB+JPA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]