Spring WebFlux学习笔记(一)
核心思想
WebFlux主要是异步
例子
参考一个源码:
https://blog.csdn.net/qq_43923045/article/details/106309432?spm=1001.2014.3001.5506
@GetMapping("/delay1")public Mono<RestResult> delayResult() {long l = System.currentTimeMillis();Mono<RestResult> resultMono = Mono.fromSupplier(()->{try {Thread.sleep(5_000);} catch (InterruptedException e) {e.printStackTrace();}return new RestResult().setMessage("hello world!!");});long r = System.currentTimeMillis();log.info("执行时间 {} !!",(r-l));return resultMono;}@GetMapping("/delay2")public RestResult delayResult2() {long l = System.currentTimeMillis();Supplier<RestResult> result = () -> {try {Thread.sleep(5_000);} catch (InterruptedException e) {e.printStackTrace();}return new RestResult<>().setMessage("ok");};RestResult restResult = result.get();long r = System.currentTimeMillis();log.info("执行时间 {} !!",(r-l));return restResult;}
如上面的代码例子,delay1接口会直接打印执行时间。delay2会等待一段时间才能打印执行时间。
扩展
思考:
对于delay1接口,什么时候才有返回结果呢?
答案:
返回需要加上MediaType.APPLICATION_STREAM_JSON_VALUE
@GetMapping(value = "/stream",produces = MediaType.APPLICATION_STREAM_JSON_VALUE)
参考资料https://blog.csdn.net/weixin_34364071/article/details/91664821?spm=1001.2014.3001.5506
遗留问题
1、那使用postman等工具测试例子的2个接口的时间到底是多少?
2、前端怎么去处理异步返回的结果?
相关文章:
Spring WebFlux学习笔记(一)
核心思想 WebFlux主要是异步 例子 参考一个源码: https://blog.csdn.net/qq_43923045/article/details/106309432?spm1001.2014.3001.5506 GetMapping("/delay1")public Mono<RestResult> delayResult() {long l System.currentTimeMillis();…...
富格林:正确追损思维安全交易
富格林指出,对于如何正确追损的这个问题是需要持续付出时间和精力的,发现具备耐心的投资者往往在正确追损的路上更加游刃有余。他们总是可以保持较为平和的心态,不急不躁地分析原因并通过自身掌握的安全应对措施来进行交易。富格林在以下分享…...
前端vue2迁移至uni-app
1.确定文件存放位置 components: 继续沿用 pages: views内容移动到pages static: assets内容移动到static uni_modules: uni-app的插件存放位置 迁移前 src├─assets│ └─less├─components│ ├─common│ │ ├─CommentPart│ │ └─MessDetail│ ├─home│…...
恋爱脑学Rust之闭包三Traits:Fn,FnOnce,FnMut
在Rust中,FnOnce、FnMut和Fn是三个用于表示闭包(closure)类型的trait。闭包是一种特殊的函数,它可以捕获其环境变量,即在其定义时所处的作用域中的变量。以下是关于这三个trait的详细介绍: 1. FnOnce&#…...
区块链介绍
区块链(英文名:blockchain或block chain)是一种块链式存储、不可篡改、安全可信的去中心化分布式账本,它结合了分布式存储、点对点传输、共识机制、密码学等技术,通过不断增长的数据块链(Blocks)…...
git回滚间隔的提交
如果你需要回滚几个非连续的提交,可以使用 git revert 来选择性地撤销这些提交。这样做不会改变提交历史,只是会在当前分支上创建新的提交来反转指定的更改。 ### 使用 git revert 回滚间隔的提交 1. **查看提交历史**: 首先,…...
Map和Set(数据结构)
一、概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构,其搜索的效率与其具体的实例化子类有关。 Map 和 Set 是一种适合动态查找的集合容器。 模型 一般把搜索的数据称为关键字( Key ),和关键字对应的称为值࿰…...
vue3uniapp实现自定义拱形底部导航栏,解决首次闪烁问题
前言: 我最初在网上翻阅查找了很多方法,发现大家都是说在page.json中tabbar中添加:"custom": true,即可解决首次闪烁的问题,可是添加了我这边还是会闪烁,因此我这边改变了思路,使用了虚拟页面来解…...
新需求编码如何注意低级错误代码
1. 日常开发常见错误问题 变量拷贝未修改变量定义的值刚开始是随意写的一个值,想等到上线的时候再改成正确的,但是上线的时候忘记改了程序常量配置的错误逻辑关系判断错误 常见的如都不为null、都不为空集合判断不为空逻辑取反了多个关系的 && …...
系统架构图设计(行业领域架构)
物联网 感知层:主要功能是感知和收集信息。感知层通过各种传感器、RFID标签等设备来识别物体、采集信息,并对这些信息进行初步处理。这一层的作用是实现对物理世界的感知和初步处理,为上层提供数据基础网络层:网络层负责处理和传输…...
windows 文件监控 c++ 11及以上版本可用
在该版本上稍微改了一下https://blog.csdn.net/weixin_50964512/article/details/125002563 #include<iostream> #include<string> #include<Windows.h> #include<list> #include<locale> using namespace std;class WatchFolder {HANDLE m_hFi…...
jsMind:炸裂项目,用JavaScript构建的思维导图库,GitHub上的热门开源项目
嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和工作学习方法 jsMind 是一个基于 JavaScript 的思维导图库,它利用 HTML5 Canvas 和 SVG 技术构建,可以轻松地在网页中嵌入和编辑思维导图。它以 …...
postman的脚本设置接口关联
pm常用的对象 变量基础知识 postman获取响应结果的脚本的编写 下面是购物场景存在接口信息的关联 登录进入---搜索商品---进入商品详情---加入购物车 资源在附件中,可以私聊单独发送 postman的SHA256加密 var CryptoJS require(crypto-js);// 需要加密的字符串 …...
【python】OpenCV—Tracking(10.3)—GOTURN
文章目录 1、功能描述2、模型介绍3、代码实现4、完整代码5、结果展示6、优缺点分析7、参考 1、功能描述 基于 Generic Object Tracking using Regression Networks 方法,实现单目标跟踪 2、模型介绍 (1)发表来自 Held D, Thrun S, Savarese…...
git pull遇到一个问题
shell request failed on channel 0 需要修改服务器配置[rootadmin ~]# cat /etc/security/limits.d/20-nproc.conf # Default limit for number of users processes to prevent # accidental fork bombs. # See rhbz #432903 for reasoning.* soft nproc 409…...
书生-第四期闯关:完成SSH连接与端口映射并运行hello_world.py
端口映射完成后,访问127.0.0.1:7860成功展示如下界面: 书生浦语大模型实战营 项目地址:https://github.com/InternLM/Tutorial/...
【CSS3】css开篇基础(5)
1.❤️❤️前言~🥳🎉🎉🎉 Hello, Hello~ 亲爱的朋友们👋👋,这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章,请别吝啬你的点赞❤️❤️和收藏📖📖。如果你对我的…...
AI产品独立开发变现实战营,炒掉老板做自由职业赚大钱
课程背景 在经济下行和外部就业压力增大的背景下,为解决程序员的焦虑、失业和被裁员,我们开始了这门课程,课程基于3个真实已经盈利的商业项目,从0到1带你实践AI产品的设计、开发、运营和盈利模式的全流程开发。 课程特色 增加‘…...
【UE5.3 Cesium for Unreal】编译GlobePawn
目录 前言 效果 步骤 一、下载所需文件 二、下载CesiumForUnreal插件 三、处理下载的文件 四、修改代码 “CesiumForUnreal.uplugin”部分 “CesiumEditor.cpp”部分 “CesiumEditor.h”部分 “CesiumPanel.cpp”部分 “IonQuickAddPanel.cpp”部分 “IonQuickAd…...
idea连接数据库出现错误的解决方式
在使用idea连接数据库时,出现错误: The server has terminated the handshake. The protocol list option (enabledTLSProtocols) is set, this option might cause connection issues with some versions of MySQL. Consider removing the protocol li…...
开源多模型API网关One API:统一管理GPT-4、Claude等大模型调用
1. 项目概述:一个统一的多模型API网关 如果你正在或计划在业务中集成多个不同厂商的大语言模型,比如同时调用OpenAI的GPT-4、Anthropic的Claude、Google的Gemini,或者国内的文心一言、通义千问等,那么你大概率会遇到一个头疼的问…...
3步解锁《鸣潮》120帧体验:WaveTools工具箱完全指南
3步解锁《鸣潮》120帧体验:WaveTools工具箱完全指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools 还在为《鸣潮》游戏卡顿、帧率限制而烦恼吗?是否觉得60帧的游戏体验无法充分发挥…...
STM32F103的Flash读写,你踩过这几个坑吗?从解锁失败到数据错乱的避坑实录
STM32F103的Flash读写,你踩过这几个坑吗?从解锁失败到数据错乱的避坑实录 第一次在STM32F103上操作Flash时,我天真地以为这不过是几个寄存器配置和地址访问的问题。直到深夜调试时遇到第一个HardFault,我才意识到自己掉进了开发者…...
Blender到虚幻引擎5分钟极速迁移:Datasmith导出插件实战指南
Blender到虚幻引擎5分钟极速迁移:Datasmith导出插件实战指南 【免费下载链接】bl_datasmith UE Datasmith importer/exporter for Blender 项目地址: https://gitcode.com/gh_mirrors/bl/bl_datasmith 你是否曾在Blender中创建了完美的3D场景,却在…...
拆解Lanelet2:从Points到RegElem,一文搞懂自动驾驶地图的‘乐高积木’
拆解Lanelet2:从Points到RegElem,一文搞懂自动驾驶地图的‘乐高积木’ 自动驾驶技术的核心挑战之一是如何让车辆理解复杂多变的道路环境。想象一下,如果能让机器像孩子搭积木一样自由组合道路元素,构建出完整的交通语义网络&#…...
保姆级教程:在Windows 10上用VS2017和Qt 5.12.6从源码编译QGroundControl 4.0.0
从零开始:Windows 10下使用VS2017与Qt 5.12.6编译QGroundControl 4.0.0全指南 对于无人机开发爱好者而言,搭建一个稳定可靠的地面站开发环境是迈向自主开发的第一步。QGroundControl(QGC)作为一款开源的无人机地面站软件…...
面试拷打:Nacos 注册中心怎么实现的?答出 Distro / Raft 才算入门
👉 这是一个或许对你有用的社群🐱 一对一交流/面试小册/简历优化/求职解惑,欢迎加入「芋道快速开发平台」知识星球。下面是星球提供的部分资料: 《项目实战(视频)》:从书中学,往事中…...
【ETL实战】StreamSets零代码构建实时数据管道
1. StreamSets:零代码ETL的神器 第一次接触StreamSets时,我被它的可视化界面震惊了。作为一个常年和代码打交道的工程师,很难想象ETL(数据抽取、转换、加载)这种复杂的数据处理流程,竟然可以不用写一行代码…...
WebGPU与模型量化:浏览器端大模型本地化部署实战
1. 项目概述:在浏览器里跑大模型,到底靠不靠谱?最近几年,大语言模型(LLM)火得一塌糊涂,但一提到部署和运行,大家的第一反应往往是“得搞台服务器”、“得买张好显卡”、“API调用费不…...
K-12人工智能教育框架:达格斯特三角模型下的技术、社会与用户实践
1. 项目概述:为什么K-12阶段需要人工智能教育?最近几年,找我聊“怎么给孩子讲明白人工智能”的老师和家长越来越多了。大家的感觉很一致:AI这东西,好像一夜之间就渗透到了生活的每个角落——从手机里的语音助手&#x…...
