亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Spring Webflux - 將數據流發送到端點

Spring Webflux - 將數據流發送到端點

慕絲7291255 2022-07-14 10:27:55
我有一個關于 Spring Webflux 的問題。我想創建一個使用內容類型文本/事件流的反應式端點。不是生產而是消費。我們的一項服務需要向另一個服務發送大量小對象,我們認為以這種方式流式傳輸可能是一個很好的解決方案。@PostMapping(value = "/consumeStream", consumes = MediaType.TEXT_EVENT_STREAM_VALUE)public Mono<Void> serve(@RequestBody Flux<String> data) {    return data.doOnNext(s -> System.out.println("MessageReceived")).then();}我正在嘗試使用 Spring WebClient 建立與端點的連接并將數據流式傳輸到它。例如使用代碼:WebClient.builder().baseUrl("http://localhost:8080")            .clientConnector(new ReactorClientHttpConnector())            .build()            .post()            .uri("/test/serve")            .contentType(MediaType.TEXT_EVENT_STREAM)            .body(BodyInserters.fromPublisher(flux, String.class))            .exchange()            .block();通量是每 1 秒產生一個值的流。我遇到的問題是 WebClient 完全讀取發布者,然后將數據作為一個整體發送,而不是一個一個地流式傳輸。我可以使用此客戶端或其他任何方法來執行此操作嗎?我不想采用 websockets 的方式。
查看完整描述

1 回答

?
長風秋雁

TA貢獻1757條經驗 獲得超7個贊

SSE 標準不允許 POST。即使在瀏覽器 API https://www.w3.org/TR/eventsource/中也無法指定方法

作為名稱狀態的服務器端事件旨在將事件從服務器傳遞到客戶端。


查看完整回答
反對 回復 2022-07-14
  • 1 回答
  • 0 關注
  • 209 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號