Spring 弹簧座控制器与寻呼

Spring 弹簧座控制器与寻呼,spring,spring-restcontroller,Spring,Spring Restcontroller,我使用Spring4.2和rest,我想使用分页 使用SpringREST控制器进行分页的方法是什么 @RequestMapping(value = "/members/{memberId}/payments", method = RequestMethod.GET) public Page<PaymentDto> getPaymentByMemberId(@PathVariable("memberId") Long memberId, Pageable pageable)

我使用Spring4.2和rest,我想使用分页

使用SpringREST控制器进行分页的方法是什么

@RequestMapping(value = "/members/{memberId}/payments", method = RequestMethod.GET)
    public Page<PaymentDto> getPaymentByMemberId(@PathVariable("memberId") Long memberId, Pageable pageable) {
        return paymentService.getPaymentByMemberId(memberId, pageable);
    }
@RequestMapping(value=“/members/{memberId}/payments”,method=RequestMethod.GET)
公共页getPaymentByMemberId(@PathVariable(“memberId”)Long memberId,可分页可分页){
return paymentService.getPaymentByMemberId(memberId,可分页);
}
这是一个很好的管理方法吗

如果对于应用程序中的某个区域,我们不想使用分页,那么我们需要创建另一个url吗

如果我想获得会员的所有付款,我会:

/members/{memberId}/payments

对于分页,有一种方法可以告诉spring执行以下操作:

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

一种方法是:

@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();
        }
@RequestMapping(value=“/members/{memberId}/payments”,method=RequestMethod.GET)
公共列表getPaymentByMemberId(@PathVariable(“memberId”)长成员ID、@RequestParam(value=“pageNumber”,required=false)最终整数pageNumber、@RequestParam(value=“pageSize”,required=false)最终整数pageSize){
PageRequest pageReq=新的PageRequest((pageNumber==null?0:pageNumber),(pageSize==null?0:pageSize));
Page Page=paymentService.getPaymentByMemberId(memberId,pageReq);
返回page.getContent();
}

您需要为控制器编写注释@RestController

@RestController
public class PaymentController {
...
    @RequestMapping(value = "/members/{memberId}/payments", method = RequestMethod.GET)
    public Page<PaymentDto> getPaymentByMemberId(@PathVariable("memberId") Long memberId, Pageable pageable) {
        return paymentService.getPaymentByMemberId(memberId, pageable);
    }
}
@RestController
公共类付费控制器{
...
@RequestMapping(value=“/members/{memberId}/payments”,method=RequestMethod.GET)
公共页getPaymentByMemberId(@PathVariable(“memberId”)Long memberId,可分页可分页){
return paymentService.getPaymentByMemberId(memberId,可分页);
}
}

请求示例:/members/12345/payments?page=0&size=50

您找到如何使用
Pageable