我很难在gwt中处理请求工厂。我可以使它与泛型和多态类一起工作。请参阅此处:
带有泛型的类型类的RequestFactory客户端继承
Gwt请求工厂。客户端上的泛型和继承
RequestFactory实体';s参数:列表<OfOtherEntity>在客户端上为null。服务器上的正常
我想换成restygwt作为运输层。这是一个新的应用程序,所以没有太多需要重写的地方。我原以为射频能满足我的需要,但不幸的是,我没能让它发挥作用。所以我在想Resty。
请告诉我它能和下面这样的泛型和多态类一起工作吗:
@MappedSuperclass
public class GenericModel<T extends GenericModel<T>> implements Identifiable, Versionable {
getId();
getVersion();
}
@MappedSuperclass
public abstract class GenericDictionaryModel<T extends GenericModel<T>> extends GenericModel<T> { getName();
getActive();
}
@Entity class VocabularyDictionaryModel extends GenericDictionaryModel {
someCustomeMethod();
}
public class GenericDao<T extends GenericModel<T>> {
public List<GenericModel<T>> getList() {
return JPA.em().createQuery("FROM " + entityClass.getSimpleName()).getResultList();
}
}
public class GenericDictionaryDao<T extends GenericDictionaryModel<T>> extends GenericDao<T>{
public List<GenericDictionaryModel<T>> getListOrderedByName() {
try {
return JPA.em()
.createQuery("FROM " + entityClass.getSimpleName() + " ORDER BY name")
.getResultList();
} catch (ClassCastException e) {
return new LinkedList<GenericDictionaryModel<T>>();
}
}
}
请记住,你将不得不或多或少地自己处理错误处理。与rf相比,有相当多的代码可以让rest应用程序工作,但IMHO使您的API更易于移植到更多的平台类型。
下面是你所问问题的一个例子。我经常使用单元测试来解决一些边缘情况。
https://github.com/resty-gwt/resty-gwt/blob/master/restygwt/src/test/java/org/fusesource/restygwt/client/basic/ParameterizedTypeDTO.java