2016-05-08 4 views
3

私はスプリング4.2を使用しています。残りのページングを使用したいと思います。スプリングレストコントローラとページング

スプリングレストコントローラでページングを使用する方法は何ですか?

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

これを管理するのは良い方法ですか?

アプリケーションの一部の領域で、ページングを使用しない場合は、別のURLを作成する必要がありますか?

私はメンバーのためにすべての支払いをしたい場合は、私が行います。

/members/{memberId}/payments

とページングのために、それはのような何かをする春に言ったためにそこ方法です:

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

これを行うには
+0

はあなたをしました'Pageable'を使って作業する方法を見つけますか? –

答えて

3

一つの方法は次のとおりです。

@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(); 
     } 
関連する問題