我有一个来自执行实体的长列表,在一些进程填充相关的ExecutionDto之后,DTO是这样的,
@Data
@AllArgsConstructor
@NoArgsConstructor
public class ExecutionDto {
private long OrgUnitId;
private long countsDone;
private long countsShouldBe;
private float progressPercentage;
private double countsIndicator;
private String OrgUnitDisplayName;
}
处理ExecutionDto的执行返回列表的方法是这样的,
public List<ExecutionDTO> processExecutions(){
// some proccess and return list of ExecutionDto
return listOfExecutions;
}
我不想使用分页和发送任何数据已经准备好的前面,而不是等待完成的列表,我怎么能做到这一点?我的web rest方法是这样的,
@GetMapping("/executions/procces")
public ResponseEntity<List<ExecutionDTO>> proccesedExecutions(){
// get list of ExecutionDtos from related service
return ResponseEntity.ok().body(executionDTOs);
}
我希望列表逐渐完成,但前端要等到后端完成列表,完成ExecutionDtos列表需要花费大量时间,
1条答案
按热度按时间ercv8c1e1#
要流式传输列表,应该使用WebFlux并返回类似
Flux<List<ExecutionDTO>>
的内容。不过,您需要一个React式数据存储,以便在数据库返回结果时真实地流式传输结果(例如MongoDB)。