springboot实现gpt的eventstream案例

springboot实现gpt的eventstream案例

一、maven坐标

引入webflux依赖

复制代码
  <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-webflux</artifactId>
        </dependency>

二、democontroller

Java 复制代码
package org.example.webfluxdemo;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;
import java.time.Duration;

@RestController
public class EventStreamController {

    @GetMapping(value = "/events", produces = "text/event-stream")
    public Flux<String> events() {
        return Flux
                .interval(Duration.ofSeconds(1))  // 每1秒产生一个数据
                .map(l -> "Data: " + l);          // 将长整型数据转换为字符串
    }
}

三、效果图

相关推荐
橙子家34 分钟前
RESTful 接口:它并非标准或协议,而是一种【架构风格】
后端
RuoyiOffice34 分钟前
KubeSphere 容器云实践:从管理 K8s 到建设企业 PaaS,还需要哪些能力
spring boot·kubernetes·kubesphere·jenkins·paas·微服务部署·ruoyi office
小兔子1 小时前
dict.get 的默认值每次都会求值,哪怕键本来就在
后端
斯维赤1 小时前
限流、熔断、降级,你真的分得清吗?
java·后端·架构
肌肉娃子1 小时前
红队攻防测试报告 — wechat-e.cfd
后端
陈随易2 小时前
Cmder 停更 17 个月,2.0 支持 Windows Terminal
前端·后端·程序员
海螺_AIHCC2 小时前
SSE 流式返回中文变问号,问题不在编码
后端
panbook2 小时前
从零实现一个时序数据库(一):用 Rust、Arrow 和 Parquet 跑通写入与 SQL 查询
后端
Zan2 小时前
SQLite + SQLx 实战:为什么已经发布的数据库迁移文件,绝对不能再修改?
数据库·后端·面试
微步AICRM2 小时前
一物一码验真的并发链路设计:码段管理、四级关联与异常判定
后端·架构