2016-05-08 8 views
3

Ich benutze Feder 4.2 und Ruhe und ich möchte Paging verwenden.Spring Rest Controller und Paging

Wie ist die Verwendung von Paging mit Federhalteregler?

@RequestMapping(value = "/members/{memberId}/payments", method = RequestMethod.GET) 
    public Page<PaymentDto> getPaymentByMemberId(@PathVariable("memberId") Long memberId, Pageable pageable) { 
     return paymentService.getPaymentByMemberId(memberId, pageable); 
    } 

Ist es eine gute Möglichkeit, dies zu verwalten?

Wenn für einen Bereich in der Anwendung möchten wir nicht Paging verwenden, müssen wir eine andere URL erstellen?

wenn ich alle Zahlungen für ein Mitglied will, werde ich tun:

/members/{memberId}/payments

und für das Paging, es ist es eine Möglichkeit, Feder sagte so etwas wie:

/members/{memberId}/payments?pageNumber=1&PageSize=10

+0

Bitte benutzen Sie Finden Sie heraus, wie Sie mit 'Pageable' arbeiten können? –

Antwort

3

Eine Möglichkeit, dies zu tun ist:

@RequestMapping(value = "/members/{memberId}/payments", method = RequestMethod.GET) 
public List<PaymentDto> getPaymentByMemberId(@PathVariable("memberId") Long memberId, @RequestParam(value = "pageNumber", required = false) final Integer pageNumber,@RequestParam(value = "pageSize", required = false) final Integer pageSize) { 
       PageRequest pageReq = new PageRequest((pageNumber == null ? 0 : pageNumber), (pageSize == null ? 0 : pageSize)); 
       Page<PaymentDto> page = paymentService.getPaymentByMemberId(memberId, pageReq); 
       return page.getContent(); 
     }