Почему Spring WebFlux ServerResponse не имеет общего с типом тела - PullRequest
0 голосов
/ 31 октября 2018

Я начал использовать Spring WebFlux и недавно удивился, почему ServerResponse не имеет общего с типом тела. Это несовместимо с синхронным ResponseEntity <> и, как бы, ухудшает общую читабельность.

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

Тип тела ответа в ServerResponse неизвестен из сигнатуры этого метода. Разве это не должно быть, как показано ниже?

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

Интересно, по каким причинам ServerResponse не имеет такого универсального типа?

Ответы [ 2 ]

0 голосов
/ 01 ноября 2018

Может быть, вы ищете EntityResponse, его подтип ServerResponse и имеет универсальный тип

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

0 голосов
/ 31 октября 2018

ServerResponse находится в пакете org.springframework.web.reactive.function.server, поэтому он предназначен для использования в Spring WebFlux fn .

Как описано в справочной документации для аннотаций Spring WebFlux, вы все равно можете использовать ResponseEntity в качестве возвращаемого значения для контроллеров .

...