Spring Boot 2.x实战54 - Spring Web MVC 26 - 异步请求(HTTP Streaming - SSE)

Spring MVC提供了SseEmitter用来提供对W3C的SSE规范的支持。SSE是Server-Sent Events的缩写。HTML5 API 提供了EventSource对象和服务端交互,服务端返回数据时头数据里的内容类型为:text/event-stream

我们的控制器的代码和ResponseBodyEmitter的几乎差不多:

@RestController
@RequestMapping("/async")
@Slf4j
public class AsyncController {
   

    private static Map<Long, SseEmitter> sseEmitterMap = new HashMap<>();

		//可使用produces属性执行返回的头信息中的内容类型
    @GetMapping(value = "/{id}/sse", produces = {
   MediaType.TEXT_EVENT_STREAM_VALUE}) 
    public SseEmitter sseEmitter(@PathVariable Long id){
   
        SseEmitter emitter = new SseEmitter();
        sseEmitterMap.put(id, emitter);
        return emitter;
    }

    @GetMapping("/{id}/invoke-sse")
    public void invokeSseEmitter(@PathVariable Long id
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值