springboot实现ChatGPT式调用(一次调用,持续返回)

下边实现了一个持续返回100以内随机数的接口,在接口超时之前会每隔1秒返回一个随机数

java 复制代码
@GetMapping(value = "/getRandomNum", produces = MediaType.TEXT_EVENT_STREAM_VALUE)
public SseEmitter getRandomNum() {
    SseEmitter emitter = new SseEmitter();
    ThreadLocalRandom random = ThreadLocalRandom.current();
    new Thread(() -> {
            try {
                while (true) {
                    int price = random.nextInt(100);
                    emitter.send(SseEmitter.event().data(price));
                    Thread.sleep(1000);
                }
            } catch (Exception e) {
                emitter.completeWithError(e);
            }
        }).start();
    return emitter;
}

下边是postman调用效果图

相关推荐
独自归家的兔6 小时前
Java Robot 详解:系统级鼠标 / 键盘模拟的核心原理与实战
java·开发语言
岳轩子6 小时前
DDD领域驱动设计:核心概念、实践结构与框架对比
java·spring
何中应6 小时前
Bean的三种注入方式
开发语言·spring boot·后端·spring
席万里6 小时前
基于Flask框架实现的一个在线考试系统
后端·python·flask
ArabySide6 小时前
【Java】重构之善用多态解耦,记录一次模板方法实践
java·重构·模板方法模式
wanghowie6 小时前
01.03 Java基础篇|面向对象核心与设计实践
java·开发语言
vortex56 小时前
ORM是什么?如何理解ORM?ORM的优缺点?
java·数据库·sql·mysql·oracle·orm
Algebraaaaa6 小时前
为什么线程阻塞要用.join而不是.wait
java·c++·python
王中阳Go6 小时前
12 Go Eino AI应用开发实战 | 消息队列架构
人工智能·后端·go
是苏浙6 小时前
零基础入门Java之设计图书管理系统
java·开发语言