Я делаю проект с использованием 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) }