Почему ServerHttpResponseDecorator :: writeWith тип возвращаемого значения только Mono <Void>, а не Flux <Void> - PullRequest
0 голосов
/ 26 октября 2019

Я расширяю org.springframework.http.server.reactive.ServerHttpResponseDecorator ', чтобы захватить тело ответа. Метод 'writeWith' имеет следующую сигнатуру и тип возвращаемого значения

public Mono<Void> writeWith(Publisher<? extends DataBuffer> body)

. Я преобразую 'body' в (Mono), поскольку этот тип передается в метод, а затем сопоставляется с ним. для того, чтобы прочитать dataBuffer из него. Большой вопрос, на который я не могу найти ответ, заключается в том, получу ли я в будущем тип «Flux» в метод. В этом случае, хотя я мог бы выполнить проверку типа и привести его к типу (Flux), а затем выполнить обычное отображение и чтение буфера, тип возвращаемого значения метода writeWith по-прежнему Mono. Так ли мой подход корректен для приведения издателя во Flux, в то время как тип возврата метода все еще Mono? Я не понимаю, почему нет отдельного метода для этого сценария. Еще один вопрос, который у меня возникает, заключается в том, вызывается ли метод writeWith несколько раз в случае, если в качестве входящего издателя используется Flux.

...