为什么Spring WebFlux ServerResponse没有带有某种正文的泛型

时间:2018-10-31 10:22:01

标签: spring spring-webflux

我已经开始使用Spring WebFlux,最近我想知道ServerResponse为什么不具有主体类型的泛型。它与同步的ResponseEntity <>不一致,还使一般的可读性恶化。

fun getAggregatedData(@RequestBody request: Request): Mono<ServerResponse>

根据该方法的签名,ServerResponse中的响应主体的类型未知。 不是应该像下面吗?

fun getAggregatedData(@RequestBody request: Request): Mono<ServerResponse<Response>>

我想知道ServerResponse背后没有这种通用类型的原因是什么?

2 个答案:

答案 0 :(得分:2)

ServerResponse位于org.springframework.web.reactive.function.server包中,因此应在Spring WebFlux fn中使用。

如Spring WebFlux注释的参考文档you can still use ResponseEntity as a return value for Controllers中所述。

答案 1 :(得分:1)

也许您正在寻找EntityResponse,它是ServerResponse的子类型,并且具有通用类型

https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/web/reactive/function/server/EntityResponse.html