Spring 如何指定查询和可分页的限制

Spring 如何指定查询和可分页的限制,spring,spring-data,spring-rest,Spring,Spring Data,Spring Rest,我想让我的RESTAPI为我检索mongo数据库中带有分页的最后X条记录。因此,当用户想要最后1000条记录时,他只会在第一页上获得前100条记录,以此类推。。。 但不是这样的 我希望url看起来像这样: {device}/topics/{topic}/last/{limit} 而不是像: {device}/topics/{topic}/last?size={limit} @Override public Page<DeviceData> findFirstXByDeviceAndT

我想让我的RESTAPI为我检索mongo数据库中带有分页的最后X条记录。因此,当用户想要最后1000条记录时,他只会在第一页上获得前100条记录,以此类推。。。 但不是这样的

我希望url看起来像这样: {device}/topics/{topic}/last/{limit}

而不是像: {device}/topics/{topic}/last?size={limit}

@Override
public Page<DeviceData> findFirstXByDeviceAndTopicOrderByDateDesc(String device, String topic, int x, Pageable pageable) {
    Query query = new Query(Criteria.where(DEVICE_KEY).is(device).and(TOPIC_KEY).is(topic));
    query.with(new Sort(Sort.Direction.DESC, DATE_KEY));
    query.limit(x);
    query.with(pageable);

    List<DeviceData> list = mongoTemplate.find(query, DeviceData.class);
    Page<DeviceData> page = new PageImpl<DeviceData>(list);

    return page;
}
@覆盖
公共页findFirstXByDeviceAndTopicOrderByDateDesc(字符串设备,字符串主题,int x,可分页){
查询查询=新查询(条件.其中(设备\键).是(设备).和(主题\键).是(主题));
使用(新排序(Sort.Direction.DESC,DATE_键));
查询.限额(x);
查询.with(可分页);
List List=mongoTemplate.find(查询,DeviceData.class);
Page Page=新的PageImpl(列表);
返回页面;
}
我把所有的记录都分页了


如何限制结果和基于该结果的分页。

该URL有什么问题?如果你想要其他东西,使用URL重写将第一个URL转换为第二个URL。那个URL有什么问题?如果您需要其他内容,请使用URL重写将第一个URL转换为第二个URL。