簡體   English   中英

jersey從另一個調用一個資源來重用代碼

[英]jersey calling one resource from another to resuse code

我正在嘗試重構我的代碼以重用現有代碼,但想要一些建議,說明如何使用REST資源以最佳方式完成此操作(在本例中為Jersey)。

我有一個與Domains相關的資源。 此資源中的此類方法包括獲取域,獲取多個域以及發布批量獲取(使用GET太多)。

但是,我也有一個對URL執行相同操作的資源。 除了在這里要做的是從URL中提取域並有效執行與DomainResource類相同的邏輯外,就像我從URL中獲得域一樣,我還需要執行完全相同的查找。 但是,不是重用現有的DomainResource方法,而是在URLResouce類中復制並調用相同的方法。

因此,在這種情況下進行復制並保持資源分開會更好,還是有可能(錯誤/正確的做法)是從另一個資源調用一個資源(在這種情況下,URLResouce將委派給DomainResource嗎? 聽起來如何?

通用代碼應在實用程序類中。 您的每個資源(我認為您使用@GET注釋的方法都可以)通常不會互相調用。 我會將fetchDomains方法放在實用程序類中。 然后,用於獲取域的控制器/服務/資源方法將直接調用該實用程序方法,而用於從URL獲取域的控制器/服務/資源方法將首先提取域,然后調用該實用程序方法。

So is it better to have duplication in this case

不,無論如何因為重復會減少您的操作概念,所以請嘗試將通用代碼放在單獨的類中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM