如何在 Spring Boot 中收听流式 API?
Posted
技术标签:
【中文标题】如何在 Spring Boot 中收听流式 API?【英文标题】:How to listen to a streaming API in Spring Boot? 【发布时间】:2021-01-13 00:25:10 【问题描述】:我正在 Spring Boot 中制作中间件。有一个 API 有一个流数据的端点。我必须监听该数据并在中间件中公开一个端点,该端点将流数据从我的中间件传递到前端。所以,整个过程就是这样,前端会向我的中间件发出请求。我的中间件将打开到流式 API 端点的持久连接,无论数据 API 返回什么,中间件都会将其传递给前端。
我的主要问题是我无法弄清楚如何在我的 Spring Boot 中间件中完美收听流式 API。我们将使用什么? 网络套接字?网络客户端?以及如何?
有人可以用基本的示例代码给出一个基本的想法吗?
【问题讨论】:
【参考方案1】:我得到了答案。 我们可以使用 WebClient 和 Flux 来获取流数据。
开始流式传输:
private final WebClient webClient = WebClient.create();
public Flux<String> startStreaming()
return webClient.get()
.uri("STREAMING API END POINT")
.header("Authorization","Bearer "+Key.BearerToken)
.retrieve()
.bodyToFlux(String.class); ///String.class or any other custom model class can be used.
【讨论】:
以上是关于如何在 Spring Boot 中收听流式 API?的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot的特性:SpringApplication流式构建API
如何在 Spring-Boot 项目中为电话号码身份验证创建 REST API?
如何从另一个新的 Spring Boot 项目调用一个 Spring Boot 项目中存在的 Spring Boot api