使用可分页参数调用服务 - 最佳做法问题



我有一个服务MyMainService,它调用同一包中的另一个服务MySecondaryService。 在MySecondaryService中调用的方法getPagesOfMyObjects返回MyObject类型的对象的 Page,该方法的参数之一是Pageable对象。MyMainService目前不关心分页。 但是,由于我需要在MySecondaryService中调用getPagesOfMyObjects方法,因此我需要为其提供一个不会排除我可能需要的任何记录的Pageable对象。 我当前的解决方案(不是很好(是将其作为Pageable参数传递

public class MyMainServiceImpl implements MyMainService {
@Autowired
private MySecondaryService mySecondaryService
public void myMethod() {
Page<MyObject> pages = mySecondaryService.getPagesOfMyObjects(PageRequest.of(0, 10000));
List<MyObject> myObjects = pages.getContent();
//do stuff
}
}

如您所见,它有 10000 个硬编码作为其大小参数。 这对我来说不是好的做法。 有没有更好的方法来调用此服务? 我无法选择重写现有的getPagesOfMyObjects方法。

最后我用Pageable.unpaged()作为参数代替PageRequest.of(0, 10000),这似乎有效。

如果您首先不需要分页,为什么要传递可分页并解开内容? 假设mySecondaryService是你的,你可以向它添加一个未分页的findAll方法并使用该方法。

List<MyObject> myObjects = mySecondaryService.getAllMyObjects();

(顺便说一句,Pageable.unpaged()引擎盖下做同样的事情(

相关内容

  • 没有找到相关文章

最新更新