Как передавать двоичные данные в тело ответа в Spring WebFlux

Я делаю проект с использованием Spring WebFlux.

Раньше я использовал StreamingResponseBody для потоковой передачи ответов обратно клиенту, но я не могу найти эквивалент в WebFlux.

Пример:

 import org.springframework.web.servlet.mvc.method.annotation.StreamingResponseBody; @GetMapping("/video") public StreamingResponseBody stream() { InputStream videoStream = ... StreamingResponseBody res = (os) -> { IOUtils.copy(videoStream, os); } return res; } 

Есть ли эквивалент StreamingResponseBody для WebFlux? или, следует ли импортировать традиционный Spring MVC и смешать их?

Изменить : Пока я ServerHttpResponse это, ServerHttpResponse к ServerHttpResponse (пример ниже). Но мне все еще интересно о лучших решениях.

 @GetMapping("/video") fun stream2(response: ServerHttpResponse): Mono<Void> { val factory = response.bufferFactory() val publisher = videoStream .observeVideoParts() .map { factory.wrap(it.bytes) } return response.writeWith(publisher) } 

Intereting Posts
Расширить класс данных в Котлине «Ошибка: не удалось найти или загрузить основной« ИЛИ »класс не найден» – с помощью андроидного модуля (Gradle / IntelliJ) Как создать таблицу SQLite с помощью Anko в Котине? Методы Java ошибочно автоматически перегружаются в котлин libgdx AssetManager preload ttf шрифт не работает Функция Memoization в Котлине Как преобразовать выражение назначения Java в Kotlin Есть ли способ запустить raw sql с библиотекой Exposed Kotlin? Как издеваться над статическими методами в Котлине? Использование Parceler с классом данных Kotlin с конструктором для сериализации Kotlin использует утверждения времени выполнения для проверки нуля – служебные накладные расходы? Ошибка: конфликт с зависимостью «com.google.code.findbugs: jsr305» Возврат из функции в Kotlin как однострочный, когда объект равен нулю Статические методы расширения в Котлине Java Stream с :: новым для Kotlin