Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 微服务中的分页_Java_Spring Boot_Pagination_Microservices - Fatal编程技术网

Java 微服务中的分页

Java 微服务中的分页,java,spring-boot,pagination,microservices,Java,Spring Boot,Pagination,Microservices,我有两个微服务返回分页结果(两个微服务的页面大小都是10)。我想创建第三个微服务,它将合并前两个微服务的结果。但问题是我希望我的第三个微服务也被分页(这里我还希望页面大小为10)。如何应用分页和合并结果 我可以从我的两个微服务中获得分页结果,也可以将其合并。但无法对合并结果正确应用分页 下面是代码示例: class Microservice1{ public List<Item> getItems(Pagination pagination){} } class Micros

我有两个微服务返回分页结果(两个微服务的页面大小都是10)。我想创建第三个微服务,它将合并前两个微服务的结果。但问题是我希望我的第三个微服务也被分页(这里我还希望页面大小为10)。如何应用分页和合并结果

我可以从我的两个微服务中获得分页结果,也可以将其合并。但无法对合并结果正确应用分页

下面是代码示例:

class Microservice1{
   public List<Item> getItems(Pagination pagination){}
}

class Microservice2{
   public List<Item> getItems(Pagination pagination){}
}


class MainMicroservice{
   private Microservice1 microservice1;
   private Microservice2 microservice2;

   public List<Item> getItem(Pagination pagination){
      List<Item> list = new ArrayList<>();
      list.addAll(microservice1.getItems(pagination));
      list.addAll(microservice2.getItems(pagination));

      return list;
   }
}
类微服务1{
公共列表getItems(分页分页){}
}
类微服务2{
公共列表getItems(分页分页){}
}
类微服务{
私人微服务1微服务1;
私人微服务2微服务2;
公共列表getItem(分页分页){
列表=新的ArrayList();
list.addAll(microservice1.getItems(分页));
list.addAll(microservice2.getItems(分页));
退货清单;
}
}

您能分享一下您的尝试吗?另外,您是否可以确认是否希望在第三个微服务上的页面大小为10,然后您是否查询第一个和第二个服务以分别获取5条记录?如何合并响应?@gtiwari333我添加了代码示例。如果我将服务1和服务2的页面大小保持为5,那么如果服务1中有4个数据,服务2中有20个数据会怎么样?这取决于您的业务需求。
如果服务1中有4个数据,服务2中有20个数据会怎么样。
我注意到您正在使用
列表
页面
因此无法查看总记录。如果您返回
页面
,那么您可以检查总尺寸,并尝试从服务2中再提取一个项目,使总尺寸为10,您可以分享您尝试的吗?另外,您是否可以确认是否希望在第三个微服务上的页面大小为10,然后您是否查询第一个和第二个服务以分别获取5条记录?如何合并响应?@gtiwari333我添加了代码示例。如果我将服务1和服务2的页面大小保持为5,那么如果服务1中有4个数据,服务2中有20个数据会怎么样?这取决于您的业务需求。
如果服务1中有4个数据,服务2中有20个数据会怎么样。
我注意到您正在使用
列表
页面
因此无法查看总记录。如果您返回
页面
,则可以检查总尺寸,并尝试从服务2中再提取一个项目,使总尺寸为10