В моем приложении GWT есть десять различных типов сущностей. Прямо сейчас я использую старые добрые DTO и переношу их через GWT-RPC. Это хорошо работает для таких случаев, как запуск — я могу упаковать их все в один запрос.
Я рассматриваю возможность перехода на RequestFactory, потому что за время существования приложения много раз (в среднем 30 минут) мне просто нужно обновить один тип объекта, а функции унификации/сбережения полосы пропускания RequestFactory привлекательны. НО: я не вижу способа загрузить все мои данные инициализации в одном запросе при загрузке приложения. Я не хочу делать десять запросов, чтобы получить все данные инициализации для моих десяти типов сущностей.
Есть ли способ сделать GeneralRequestContext или что-то в этом роде? Я был бы даже рад такому решению, как:
public interface InitDataProxy extends EntityProxy
{
public UserProxy getInitUsers();
public OrganizationProxy getInitOrganizations();
...
}
public interface GeneralRequestContext extends RequestContext
{
Request<InitDataProxy> getInitData();
}
Но это не сработает, потому что я не хочу на самом деле поддерживать InitDataProxy чем-либо, я просто хочу использовать его для объединения нескольких разных типов прокси в одном запросе.
Итак: есть ли способ получить несколько несвязанных типов EntityProxy
в одном запросе?
Я также был бы счастлив сделать обычный запрос gwt-rpc для выхода за пределы RequestFactory для этих данных, но я не хочу реализовывать дублирующиеся DTO для запуска рядом с прокси-серверами RequestFactory и писать собственный код для копирования DTO в их!