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

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

@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调用效果图

springboot实现ChatGPT式调用(一次调用,持续返回)_第1张图片

你可能感兴趣的:(spring,boot,后端,java)