RestyGWT 是否适用于泛型和多态 类?
Is RestyGWT works with Generics and Polymorphic classes?
我在 gwt 中与请求工厂作斗争。我可以让它与泛型和多态一起工作 类。看这里:
Gwt Request Factory. Generics and Inheritance on client side
考虑换用restygwt作为传输层。
这是一个新的应用程序,所以没有太多要重写的。
我认为 RF 会满足我的需要,不幸的是我无法让它工作。所以我在考虑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>>();
}
}
}
是的,在 Resty 中使用泛型应该没有问题。您将不得不稍微调整一下 Jackson 注释,以使它们适合继承。主要是@JsonSubTypes
和@JsonTypeName
。
请记住,您将不得不或多或少地自己处理错误处理。与 rf 相比,使其余应用程序工作的代码要多得多,但恕我直言,它使您的 API 对于更多平台类型更具可移植性。
这是您所问问题的示例。我经常使用单元测试来解决一些边缘情况。
我在 gwt 中与请求工厂作斗争。我可以让它与泛型和多态一起工作 类。看这里:
Gwt Request Factory. Generics and Inheritance on client side
考虑换用restygwt作为传输层。 这是一个新的应用程序,所以没有太多要重写的。 我认为 RF 会满足我的需要,不幸的是我无法让它工作。所以我在考虑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>>();
}
}
}
是的,在 Resty 中使用泛型应该没有问题。您将不得不稍微调整一下 Jackson 注释,以使它们适合继承。主要是@JsonSubTypes
和@JsonTypeName
。
请记住,您将不得不或多或少地自己处理错误处理。与 rf 相比,使其余应用程序工作的代码要多得多,但恕我直言,它使您的 API 对于更多平台类型更具可移植性。
这是您所问问题的示例。我经常使用单元测试来解决一些边缘情况。