如何将已准备好的DTO列表从(Spring引导)后端发送到前端(Angular -12)?

ddrv8njm  于 2023-02-12  发布在  Spring
关注(0)|答案(1)|浏览(115)

我有一个来自执行实体的长列表,在一些进程填充相关的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列表需要花费大量时间,

ercv8c1e

ercv8c1e1#

要流式传输列表,应该使用WebFlux并返回类似Flux<List<ExecutionDTO>>的内容。
不过,您需要一个React式数据存储,以便在数据库返回结果时真实地流式传输结果(例如MongoDB)。

相关问题