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

佐手、 提交于 2020-01-06 21:52:05

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

#编程#入门#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分钟视频学习

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!