Почему сигнатура метода дескриптора WebHandler # выглядит так, как выглядит - PullRequest
0 голосов
/ 18 октября 2019

Почему метод WebHandler#handle выглядит так

public interface WebHandler {
    Mono<Void> handle(ServerWebExchange exchange);
}

вместо

public interface WebHandler {
    Mono<ServerHttpResponse> handle(ServerWebExchange exchange);
}

Эта секунда выглядит несколько интуитивно понятнее, чем предыдущая (по крайней мере, мне), поскольку мы получаемзапрос и атрибуты инкапсулированы в обмен, и мы генерируем контейнер ответа

Если инфраструктура должна знать, когда данные полностью сгенерированы (чтобы освободить ресурсы, выделенные для соединения), она может очень хорошо подписатьсяк DataBuffer внутри ServerHttpResponse

Есть ли что-то, чего можно достичь с 1-м подходом, к которому трудно приблизиться с 2-м

...