springboot服务端怎么推送SSE
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,springboot服务端怎么推送SSE,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。package com.demo.action
千家信息网最后更新 2026年11月03日springboot服务端怎么推送SSE
springboot服务端怎么推送SSE,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。
package com.demo.action;import com.demo.serviceI.DemoService;import com.fasterxml.jackson.core.JsonProcessingException;import com.fasterxml.jackson.databind.ObjectMapper;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.boot.jackson.JsonObjectDeserializer;import org.springframework.http.MediaType;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.ResponseBody;import org.springframework.web.bind.annotation.RestController;import java.util.HashMap;import java.util.Map;import java.util.Random;@RestControllerpublic class DemoAction { @Autowired private DemoService demoService; /** * 健康检查json串模拟 * @return */ @RequestMapping(value = "health.json") public String healt(){ return "{\"status\":\"UP\",\"diskSpace\":{\"status\":\"UP\",\"total\":249769230336,\"free\":71914618880,\"threshold\":10485760},\"db\":{\"status\":\"UP\",\"database\":\"MySQL\",\"hello\":1}}"; } /** * 条件注解使用 * @return */ @RequestMapping(value = "user/info") public String info(){ return demoService.info(); } /** * 异步调用方法 */ @RequestMapping(value = "print") public void print(){ for (int i = 0; i < 100; i++) { demoService.print(i); } } /** * 服务端推送技术 */ @RequestMapping(value = "serverPush",produces = {MediaType.TEXT_EVENT_STREAM_VALUE}) public String serverPush(){ Map demo = new HashMap<>(1); demo.put("name","张三"+new Random().nextInt()); ObjectMapper objectMapper = new ObjectMapper(); String s = "data:"; try { s += objectMapper.writeValueAsString(demo)+"\n\n"; System.out.println(s); } catch (JsonProcessingException e) { e.printStackTrace(); } return s; }} 页面代码
Title
注意使用过程中容易遇到的问题:
1.由于返回类型使用了text/event-stream,所以在服务端响应数据必须使用String或其他文本类型
2. 在返回数据时,必须用data:和\n\n分别开头和结尾;如:String.format("data:%s\n\n",data),这里将我坑惨,网上和书上资料只是给了个例子没有具体说明,找了半天没找到原因和前端链接成功就是触发不了message事件
关于springboot服务端怎么推送SSE问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。
服务
问题
推送
数据
方法
更多
类型
帮助
解答
易行
健康
成功
简单易行
事件
代码
例子
内容
前端
原因
只是
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网 科技创新
喔噻互联网科技
狮子座互联网科技
智网互联网科技
期待互联网科技
美国互联网黑科技
深圳天众互联网科技公司
菲比寻常互联网科技
互联网巨头投资的硬核科技
哈尔滨秒房互联网科技有限公司
北京三清互联网科技
承德科技产业互联网发展
武汉健翔互联网络科技有限公司
深圳市罗太互联网科技有限公司
无锡工业互联网科技有限公司
国大互联网教育科技有限公司薪资
互联网金融科技元年
互联网科技实习生岗位
广州有谷有贝互联网科技有限公司
福建互联网展示科技馆设计
国智互联网科技
互联网科技金融
互联网金融与金融科技
互联网科技汛
承德科技产业互联网发展
宜昌元轩互联网科技有限公司
中科明德北京互联网科技
中国互联网有什么科技
深圳无忧互联网科技
互联网时代科技型公司的机会