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 对于更多平台类型更具可移植性。

这是您所问问题的示例。我经常使用单元测试来解决一些边缘情况。

https://github.com/resty-gwt/resty-gwt/blob/master/restygwt/src/test/java/org/fusesource/restygwt/client/basic/ParameterizedTypeDTO.java