我有一个接受PAGE和SIZE参数的现有REST服务
@H_301_6@/fetchrecords?page=0&size=10
反过来,它创建一个Spring Pageable与Spring Repository一起使用.
@H_301_6@Pageable pageRequest = new PageRequest(page,size,Sort.Direction.DESC,"created");
我现在想要使用Vaadin 8 CallbackDataProvider,但它会产生OFFSET和LIMIT以用于BackendDataProvider.
@H_301_6@dataProvider = new CallbackDataProvider
当然这不会作为offset!= page工作,并且根据偏移位置,限制值将根据剩余的记录数而改变.
如果不重写其余/服务,我怎样才能正确地从DataProvider OFFSET和LIMIT转到PAGE和SIZE?
最佳答案
我有同样的问题.具有偏移量和限制的Vaadin分页比具有页面和页面大小的分页更强大(如在REST服务和Spring类PageRequest中).所以,你的问题的答案是:你不能轻易.如果您可以将REST服务参数更改为offset和limit,那么您可以实现自己的Pageable,如:
原文链接:https://www.f2er.com/spring/431375.html@H_301_6@public class Range implements Pageable,Serializable { private static final long serialVersionUID = 0L; private int limit; private long offset; private Sort sort; public Range(long offset,int limit,Sort sort) { ... } @Override public long getOffset() { return offset; } ... }
我想知道为什么这不是开箱即用的.