springboot服务端怎么推送SSE
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,springboot服务端怎么推送SSE,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。package com.demo.action
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
广州市中智软件开发有限公司怎么样
网络安全最低标准
怀旧服不同服务器联网吗
小鹏汽车招聘网络安全工程师
微分享网络安全宣传周
深圳市互联网创科技有限公司
网络安全六字标语
2019网络安全名人排名
英语学软件开发
手机端软件开发学习
网络安全宣传教育的知识
将电脑变成代理服务器
mc最大rpg服务器
南京市网络技术有限公司
硕博学位论文全文数据库
switch数据库
软件开发国企简历筛选要多久
空岛生存服务器的英文
怎么设计数据库连接池
两个数据库会影响电脑的速度吗
球球大作战自己创建的服务器
数据库三个数比大小思路
香港互联网科技有限公司官网
高铁商务舱呼叫服务器在哪
将电脑变成代理服务器
冬奥网络安全卫士受聘
wamp 连接数据库
长沙昊吉软件开发
如何运用数据库分类汇总
charls数据库家庭人口数