reactive-programming - 谁在响应式 Web 应用程序中调用 Flux 或 Mono 订阅

标签 reactive-programming spring-webflux project-reactor

我正在查看一些响应式 Web 应用程序的示例,我看到它们是这样的

@RequestMapping(value = "/{id}", method = RequestMethod.GET)
@ResponseBody    
public Mono<Person> findById(...) {
    return exampleService.findById(...);
}

@RequestMapping(method = RequestMethod.GET, produces = MediaType.TEXT_EVENT_STREAM_VALUE)
@ResponseBody
public Flux<Person> findAll() {
    Flux<Person> persons = exampleService.findAll();
    return persons;
}

当我阅读文档中提到的 Mono 和 Flux 时,它提到了 订阅 必须调用 Mono 或 Flux 才能发出数据。

因此,当我在本地运行这些响应式(Reactive) Web 应用程序并使用 postman/chrome 浏览器时,当我点击端点时,我得到了结果。

在服务端,虽然端点返回 Mono 或 Flux,但我如何在浏览器/ postman 中看到实际结果。
每当我点击返回 Mono/Flux 类型的端点时,浏览器是否在内部调用订阅?

最佳答案

MonoFlux概念只存在于您的应用程序中,而 HTTP 协议(protocol)用于在您的 postman/chrome 应用程序和您的应用程序之间进行通信。
Spring Webflux 框架内部类订阅MonoFlux Controller 方法返回的实例,并根据 MediaType 将它们映射到 HTTP 数据包。您在 RequestMapping 中指定的.

关于reactive-programming - 谁在响应式 Web 应用程序中调用 Flux 或 Mono 订阅,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56487429/

相关文章:

reactjs - 失败的 Prop 类型 : Invalid prop of type `function` supplied expected a single ReactElement

C# react 扩展当 OnNext 花费很长时间并且可观察到产生新事件时会发生什么

spring-boot - Spring Boot Webflux Security - 编写测试时读取服务类中的 Principal

spring - 使用WebFlux的Reactive编程如何处理依赖的外部api调用

java - react 堆,无法加载类 "org.slf4j.impl.StaticLoggerBinder"

reactive-programming - 响应式流中的 Mono vs Flux

java - Spring webflux WebClient日志 'Connection reset by peer'

java - 如何对无限通量进行排序?

javax servlet 过滤器不适用于 Mono react 器

javascript - react 重新渲染问题