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