Java jersey从另一个资源调用一个资源以恢复代码
我正试图重构我的代码以重用现有代码,但希望得到一些建议,说明如何使用REST资源以最好的方式实现这一点(在本例中为Jersey) 我有一个处理域的资源。此资源中的此类方法包括获取一个域、获取多个域和发布批量获取(太多而无法使用一个获取) 然而,我也有一个资源对URL做同样的事情。除了我在这里要做的是从URL中提取域,并有效地执行与DomainResource类相同的逻辑,就像我从URL中获得域一样,我需要执行完全相同的查找。但是,我没有重复使用现有的DomainResource方法,而是在我的UrlResource类中复制并调用相同的方法Java jersey从另一个资源调用一个资源以恢复代码,java,rest,resources,jersey,Java,Rest,Resources,Jersey,我正试图重构我的代码以重用现有代码,但希望得到一些建议,说明如何使用REST资源以最好的方式实现这一点(在本例中为Jersey) 我有一个处理域的资源。此资源中的此类方法包括获取一个域、获取多个域和发布批量获取(太多而无法使用一个获取) 然而,我也有一个资源对URL做同样的事情。除了我在这里要做的是从URL中提取域,并有效地执行与DomainResource类相同的逻辑,就像我从URL中获得域一样,我需要执行完全相同的查找。但是,我没有重复使用现有的DomainResource方法,而是在我的U
因此,在这种情况下,是否最好进行复制并将资源分开,或者(坏/好的预防措施)是否可能从一个资源调用另一个资源,在这种情况下,URLResource将委托给DomainResource?这听起来怎么样?公共代码应该在实用程序类中。您的每个资源(我认为您可以使用@GET注释方法)通常不会相互调用。我会将
fetchDomains
方法放在实用程序类中。然后,用于获取域的控制器/服务/资源方法将直接调用该实用程序方法,用于从URL获取域的控制器/服务/资源方法将首先提取域,然后调用该实用程序方法 公共代码应该在实用程序类中。您的每个资源(我认为您可以使用@GET注释方法)通常不会相互调用。我会将fetchDomains
方法放在实用程序类中。然后,用于获取域的控制器/服务/资源方法将直接调用该实用程序方法,用于从URL获取域的控制器/服务/资源方法将首先提取域,然后调用该实用程序方法
So is it better to have duplication in this case
不,在任何情况下,因为复制减少了oops的概念。所以请尝试将公共代码保留在单独的类中
不,在任何情况下,因为复制减少了oops的概念。所以请尝试将公共代码保留在单独的类中