springboot服务端怎么推送SSE
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,springboot服务端怎么推送SSE,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。package com.demo.action
千家信息网最后更新 2025年02月01日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(){ Mapdemo = 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安全错误
数据库的锁怎样保障安全
一体机打印服务器
食材分拣配送系统软件开发
网络安全和云计算公司
国产药临床研究数据库
思科大学生网络技术大赛
马士兵的网络安全课程怎么样
福清网络安全监察部门
北京信贷互联网科技有限公司
天龙服务器代码
四维信息网络安全协会
在一个主机上开多个魔兽服务器
hbase数据库状态
AB 系统opc服务器名称
汕头应用软件开发订制
蚂蚁金服网络技术有限公司总监
云服务器选购
绵阳软件开发电话
万御安全网络服务器
数据库航空订票系统
龙人之锤数据库
千牛服务器返回异常
局网络安全工作责任制落实情况
信息网络安全检查简报
金融软件开发属于什么专业
曜石服务器
数据库技术应用是什么专业的
计算机网络安全与维护好找工作吗
数据库密码什么意思
网络安全科研课题组
多人访问服务器是分布计算吗