WebFlux系列(三) Server-Sent Events(續)

#編程#入門#java#spring#webflux#SSE#reactor#

SSE數據結構

視頻講解: https://www.bilibili.com/video/av82297051/

WebfluxServerApplication.java
package com.example.webfluxserver;

import lombok.extern.log4j.Log4j2;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.http.codec.ServerSentEvent;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

import java.time.Duration;
import java.util.UUID;

@Log4j2
@SpringBootApplication
public class WebfluxServerApplication extends BaseApplication{
    public static void main(String[] args) { SpringApplication.run(WebfluxServerApplication.class, args); }
    @RestController
    class EmployeeController{

        @CrossOrigin
        @GetMapping(value = "sse")
        public Flux<ServerSentEvent<String>> sse(){
            return  Flux.interval(Duration.ofMillis(1000)).map(val ->{
                return ServerSentEvent.<String>builder()
                        .id(UUID.randomUUID().toString())
                        .event("ping")
                        .data(val.toString())
                        .build();
            });
        }
    }
}

公衆號,堅持每天3分鐘視頻學習

發佈了51 篇原創文章 · 獲贊 0 · 訪問量 8275
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章