Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java jersey从另一个资源调用一个资源以恢复代码_Java_Rest_Resources_Jersey - Fatal编程技术网

Java jersey从另一个资源调用一个资源以恢复代码

Java jersey从另一个资源调用一个资源以恢复代码,java,rest,resources,jersey,Java,Rest,Resources,Jersey,我正试图重构我的代码以重用现有代码,但希望得到一些建议,说明如何使用REST资源以最好的方式实现这一点(在本例中为Jersey) 我有一个处理域的资源。此资源中的此类方法包括获取一个域、获取多个域和发布批量获取(太多而无法使用一个获取) 然而,我也有一个资源对URL做同样的事情。除了我在这里要做的是从URL中提取域,并有效地执行与DomainResource类相同的逻辑,就像我从URL中获得域一样,我需要执行完全相同的查找。但是,我没有重复使用现有的DomainResource方法,而是在我的U

我正试图重构我的代码以重用现有代码,但希望得到一些建议,说明如何使用REST资源以最好的方式实现这一点(在本例中为Jersey)

我有一个处理域的资源。此资源中的此类方法包括获取一个域、获取多个域和发布批量获取(太多而无法使用一个获取)

然而,我也有一个资源对URL做同样的事情。除了我在这里要做的是从URL中提取域,并有效地执行与DomainResource类相同的逻辑,就像我从URL中获得域一样,我需要执行完全相同的查找。但是,我没有重复使用现有的DomainResource方法,而是在我的UrlResource类中复制并调用相同的方法


因此,在这种情况下,是否最好进行复制并将资源分开,或者(坏/好的预防措施)是否可能从一个资源调用另一个资源,在这种情况下,URLResource将委托给DomainResource?这听起来怎么样?

公共代码应该在实用程序类中。您的每个资源(我认为您可以使用@GET注释方法)通常不会相互调用。我会将
fetchDomains
方法放在实用程序类中。然后,用于获取域的控制器/服务/资源方法将直接调用该实用程序方法,用于从URL获取域的控制器/服务/资源方法将首先提取域,然后调用该实用程序方法

公共代码应该在实用程序类中。您的每个资源(我认为您可以使用@GET注释方法)通常不会相互调用。我会将
fetchDomains
方法放在实用程序类中。然后,用于获取域的控制器/服务/资源方法将直接调用该实用程序方法,用于从URL获取域的控制器/服务/资源方法将首先提取域,然后调用该实用程序方法

So is it better to have duplication in this case
不,在任何情况下,因为复制减少了oops的概念。所以请尝试将公共代码保留在单独的类中

不,在任何情况下,因为复制减少了oops的概念。所以请尝试将公共代码保留在单独的类中