是否可以制作通用的泽西CRUD类?

时间:2014-02-06 19:31:55

标签: java generics jersey crud

我一直在使用Jersey Framework并提出了一个问题。

是否可以创建一个可以处理任何实体的CRUD方法的泛型类?原因是有一个类可以处理CRUD的东西并且只是为添加的新实体扩展它会很好。

据我所知,最大的障碍是@Path只能为该值取一个常量。我做了一些实验,并注意到我只能将最终的变量传递给@Path注释。

我在这里缺少什么或者这是框架的限制吗?

1 个答案:

答案 0 :(得分:1)

如果有人再遇到这个问题,我们没有找到一种通用的方法,但我们找到了一种最小化代码的方法。在超类中,我们有一个泛型类,如:

protected Response add(T t) {
...
}

其中包含所有逻辑并返回Response对象。在子类中,我们所要做的就是扩展它:

@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response add(MyContact contact) {
    return super.add(contact);
}

如果要自定义URL,您甚至可以在此处使用@Path注释。最小化代码以便轻松扩展它,但我认为我们不能再那么通用了。希望这有帮助!

相关问题