Вызов службы с параметром Pageable - вопрос передового опыта - PullRequest
0 голосов
/ 26 октября 2018

У меня есть услуга MyMainService, которая выполняет вызов другой услуги MySecondaryService в том же пакете. Метод getPagesOfMyObjects, вызываемый в MySecondaryService, возвращает страницу объектов типа MyObject, а одним из параметров метода является Pageable объект. MyMainService в настоящее время не имеет отношения к нумерации страниц. Но так как мне нужно вызвать метод getPagesOfMyObjects в MySecondaryService, мне нужно предоставить ему объект 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.

1 Ответ

0 голосов
/ 31 октября 2018

В итоге я использовал Pageable.unpaged() в качестве параметра вместо PageRequest.of(0, 10000), что, похоже, работает.

...