【发布时间】:2021-10-10 15:34:47
【问题描述】:
假设你有一些助焊剂和单声道
val people: Flux<Person> = repo.getPeople()
val peopleCount: Mono<Int> = people.count()
并且来自例如一个 WebFlux 控制器,你返回一个 Mono
data class Response(
val people: List<People>,
val personCount: Int
)
应用程序中将通量和单声道分别解析为 List 和 Int 的适当位置在哪里?你只是阻止()一切吗?有没有办法让框架解决所有问题?
编辑:我想我的主要困惑是我看到的所有教程响应对象中的字段实际上都不是反应性的,所以看起来我需要在从控制器返回对象之前解决所有问题。如果响应对象看起来像这样对我来说更有意义
data class Response(
val people: Flux<People>,
val personCount: Mono<Int>
)
【问题讨论】:
-
我认为控制器或服务中的发布者永远不会有
block的位置,因为它会导致异常,因为您不再是被动的。您可以从控制器方法中返回 Mono 或 Flux 并由框架解决。这同样适用于错误处理。如果您的 Mono/Flux 包含错误,我们也会为您解决。
标签: java kotlin spring-webflux reactor