我正在学习新的Spring WebFlux和反应式编程。
我想创建将某些数据流式传输到Angular客户端的反应式API。 我将从另一个不支持流的第三方API中获取部分数据。
所以,据我所知,我需要:
如何实施这4个步骤?
答案 0 :(得分:2)
假设您的远程服务响应了杰克逊可以反序列化为Something.class
的POJO集合,您可以执行以下操作:
@GetMapping(path = "/streaming", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
@ResponseBody
public Flux<Something> streamSomething() {
return WebClient.create()
.get().uri("http://example.org/resource")
.retrieve().bodyToFlux(Something.class)
.delaySubscription(Duration.ofSeconds(5))
.repeat();
}