我的GWT应用程序有十种不同类型的实体。现在我使用普通的旧DTO并通过GWT-RPC传输它们。这适用于像启动一样的情况 - 我可以将它们全部打包成一个请求。GWT RequestFactory和多种类型
我正在考虑切换到RequestFactory,因为在我需要更新一种类型的实体时,应用程序的整个生命周期内(有30分钟的平均时间)有很多次,并且统一/带宽节省功能RequestFactory很有吸引力。但是:当应用程序加载时,我看不到在单个请求中下载所有初始化数据的方法。我不想提出十个请求来获取我的十个实体类型的所有init数据。
有没有办法使一个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复制到它们中!
啊,太好了。谢谢 - 这带来了我和RF之间的突出障碍数量减少到一个,我感觉它也崩溃了!我感谢你的工作! –
RequestContext可以看作是一个“方法调用包”,它允许您在单个HTTP请求中对它们进行批处理。这意味着您不必将结果合并到一个类型中;你可以在RequestContext上调用几个方法,然后fire()将方法调用作为“批处理”发送到服务器。 –
嘿,刚刚看到这个,并会尽快与ValueProxy一起尝试。但是,上次我尝试了ValueProxys(不记得GWT版本)GWT一直抱怨ValueProxy代表的类缺少默认构造函数,并且缺少属性的setter方法。让我们来看看这是否适用于当前版本:) – Gandalf