2014-02-06 31 views
2

我一直在使用Jersey Framework並有一個問題。是否可以製作一個通用的澤西島CRUD類?

是否可以創建一個可以處理任何實體的CRUD方法的泛型類?原因在於如果有一個類可以處理CRUD內容並將其擴展爲新添加的實體,那將會很不錯。

從我可以告訴最大的障礙是@Path只能爲價值不變。我做了一些試驗,並注意到我只能通過@Path註釋的最終變量。

有什麼,我在這裏失蹤或這是一個框架的限制?

回答

1

如果有人再次遇到這種情況,我們沒有找到通用的方法來做到這一點,但我們找到了一種最小化代碼的方法。在一個超類,我們有一個泛型類的東西,如:

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

其中有所有的邏輯,並返回Response對象。在子類中的所有我們需要做的擴展,它是:

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

,如果你想自定義URL,你甚至可以在這裏使用一個@Path註解。儘量減少代碼,以便輕鬆擴展它,但我認爲我們不能再使用更通用的代碼。希望這可以幫助!