当前位置: 首页 > news >正文

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主要是异步 例子 参考一个源码&#xff1a; https://blog.csdn.net/qq_43923045/article/details/106309432?spm1001.2014.3001.5506 GetMapping("/delay1")public Mono<RestResult> delayResult() {long l System.currentTimeMillis();…...

富格林:正确追损思维安全交易

富格林指出&#xff0c;对于如何正确追损的这个问题是需要持续付出时间和精力的&#xff0c;发现具备耐心的投资者往往在正确追损的路上更加游刃有余。他们总是可以保持较为平和的心态&#xff0c;不急不躁地分析原因并通过自身掌握的安全应对措施来进行交易。富格林在以下分享…...

前端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中&#xff0c;FnOnce、FnMut和Fn是三个用于表示闭包&#xff08;closure&#xff09;类型的trait。闭包是一种特殊的函数&#xff0c;它可以捕获其环境变量&#xff0c;即在其定义时所处的作用域中的变量。以下是关于这三个trait的详细介绍&#xff1a; 1. FnOnce&#…...

区块链介绍

区块链&#xff08;英文名&#xff1a;blockchain或block chain&#xff09;是一种块链式存储、不可篡改、安全可信的去中心化分布式账本&#xff0c;它结合了分布式存储、点对点传输、共识机制、密码学等技术&#xff0c;通过不断增长的数据块链&#xff08;Blocks&#xff09…...

git回滚间隔的提交

如果你需要回滚几个非连续的提交&#xff0c;可以使用 git revert 来选择性地撤销这些提交。这样做不会改变提交历史&#xff0c;只是会在当前分支上创建新的提交来反转指定的更改。 ### 使用 git revert 回滚间隔的提交 1. **查看提交历史**&#xff1a; 首先&#xff0c…...

Map和Set(数据结构)

一、概念 Map 和 set 是一种专门用来进行搜索的容器或者数据结构&#xff0c;其搜索的效率与其具体的实例化子类有关。 Map 和 Set 是一种适合动态查找的集合容器。 模型 一般把搜索的数据称为关键字&#xff08; Key &#xff09;&#xff0c;和关键字对应的称为值&#xff0…...

vue3uniapp实现自定义拱形底部导航栏,解决首次闪烁问题

前言&#xff1a; 我最初在网上翻阅查找了很多方法&#xff0c;发现大家都是说在page.json中tabbar中添加&#xff1a;"custom": true,即可解决首次闪烁的问题&#xff0c;可是添加了我这边还是会闪烁&#xff0c;因此我这边改变了思路&#xff0c;使用了虚拟页面来解…...

新需求编码如何注意低级错误代码

1. 日常开发常见错误问题 变量拷贝未修改变量定义的值刚开始是随意写的一个值&#xff0c;想等到上线的时候再改成正确的&#xff0c;但是上线的时候忘记改了程序常量配置的错误逻辑关系判断错误 常见的如都不为null、都不为空集合判断不为空逻辑取反了多个关系的 && …...

系统架构图设计(行业领域架构)

物联网 感知层&#xff1a;主要功能是感知和收集信息。感知层通过各种传感器、RFID标签等设备来识别物体、采集信息&#xff0c;并对这些信息进行初步处理。这一层的作用是实现对物理世界的感知和初步处理&#xff0c;为上层提供数据基础网络层&#xff1a;网络层负责处理和传输…...

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上的热门开源项目

嗨&#xff0c;大家好&#xff0c;我是小华同学&#xff0c;关注我们获得“最新、最全、最优质”开源项目和工作学习方法 jsMind 是一个基于 JavaScript 的思维导图库&#xff0c;它利用 HTML5 Canvas 和 SVG 技术构建&#xff0c;可以轻松地在网页中嵌入和编辑思维导图。它以 …...

postman的脚本设置接口关联

pm常用的对象 变量基础知识 postman获取响应结果的脚本的编写 下面是购物场景存在接口信息的关联 登录进入---搜索商品---进入商品详情---加入购物车 资源在附件中&#xff0c;可以私聊单独发送 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 方法&#xff0c;实现单目标跟踪 2、模型介绍 &#xff08;1&#xff09;发表来自 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

端口映射完成后&#xff0c;访问127.0.0.1&#xff1a;7860成功展示如下界面&#xff1a; 书生浦语大模型实战营 项目地址&#xff1a;https://github.com/InternLM/Tutorial/...

【CSS3】css开篇基础(5)

1.❤️❤️前言~&#x1f973;&#x1f389;&#x1f389;&#x1f389; Hello, Hello~ 亲爱的朋友们&#x1f44b;&#x1f44b;&#xff0c;这里是E绵绵呀✍️✍️。 如果你喜欢这篇文章&#xff0c;请别吝啬你的点赞❤️❤️和收藏&#x1f4d6;&#x1f4d6;。如果你对我的…...

AI产品独立开发变现实战营,炒掉老板做自由职业赚大钱

课程背景 在经济下行和外部就业压力增大的背景下&#xff0c;为解决程序员的焦虑、失业和被裁员&#xff0c;我们开始了这门课程&#xff0c;课程基于3个真实已经盈利的商业项目&#xff0c;从0到1带你实践AI产品的设计、开发、运营和盈利模式的全流程开发。 课程特色 增加‘…...

【UE5.3 Cesium for Unreal】编译GlobePawn

目录 前言 效果 步骤 一、下载所需文件 二、下载CesiumForUnreal插件 三、处理下载的文件 四、修改代码 “CesiumForUnreal.uplugin”部分 “CesiumEditor.cpp”部分 “CesiumEditor.h”部分 “CesiumPanel.cpp”部分 “IonQuickAddPanel.cpp”部分 “IonQuickAd…...

idea连接数据库出现错误的解决方式

在使用idea连接数据库时&#xff0c;出现错误&#xff1a; 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…...

nli-distilroberta-base一文详解:开源NLI大模型在语义推理场景的落地应用

nli-distilroberta-base一文详解&#xff1a;开源NLI大模型在语义推理场景的落地应用 1. 项目概述 nli-distilroberta-base是一个基于DistilRoBERTa模型的自然语言推理(NLI)Web服务&#xff0c;专门用于判断两个句子之间的逻辑关系。这个轻量级模型继承了RoBERTa的强大语义理…...

StructBERT模型本地部署详解:从GitHub克隆到服务启动

StructBERT模型本地部署详解&#xff1a;从GitHub克隆到服务启动 你是不是也遇到过这样的场景&#xff1f;手头有一堆文本&#xff0c;需要快速判断它们之间的相似度&#xff0c;比如检查文章是否重复、匹配用户查询、或者做智能问答。如果每次都调用云端API&#xff0c;不仅费…...

嵌入式NMEA-0183零内存分配解析器设计与实现

1. NMEA-0183 协议解析库深度技术解析&#xff1a;面向嵌入式系统的轻量级、零内存分配实现 NMEA-0183&#xff08;National Marine Electronics Association 0183&#xff09;是全球航海电子设备事实上的标准通信协议&#xff0c;自1983年发布以来&#xff0c;已广泛应用于GPS…...

Chatbot、Composer与Agent架构深度解析:如何选择最优对话系统方案

Chatbot、Composer与Agent架构深度解析&#xff1a;如何选择最优对话系统方案 想象一下&#xff0c;你正在为一个电商平台设计智能客服。老板要求&#xff1a;既要能秒回“我的订单到哪了”这种简单问题&#xff0c;又要能处理“帮我推荐几款适合周末露营的装备&#xff0c;预…...

让知识传递更顺畅:在线教学课堂APP的功能设计

当学习不再局限于固定的教室和黑板&#xff0c;知识便有了更多抵达的方式。在线教学课堂APP正是这样一种载体&#xff0c;它将师生之间的互动延伸到线上&#xff0c;让学习随时随地在舒适的氛围中发生。以下从使用体验的角度&#xff0c;介绍其核心功能版块的设计思路。课程大厅…...

OpenClaw硬件推荐:流畅运行nanobot镜像的最低配置与性价比方案

OpenClaw硬件推荐&#xff1a;流畅运行nanobot镜像的最低配置与性价比方案 1. 为什么需要关注硬件配置&#xff1f; 去年夏天&#xff0c;我第一次尝试在笔记本上部署OpenClaw时遭遇了惨痛的失败。那台搭载i5-8250U的轻薄本在启动nanobot镜像后&#xff0c;风扇立刻像直升机一…...

ESP32上玩转LVGL8:手把手教你解决移植中的常见坑(含ST7735S适配)

ESP32与LVGL8深度适配实战&#xff1a;ST7735S显示驱动的优化与避坑指南 在嵌入式GUI开发领域&#xff0c;LVGL&#xff08;Light and Versatile Graphics Library&#xff09;因其轻量级和高度可定制性已成为开源图形库的佼佼者。当ESP32这颗物联网明星芯片遇上LVGL8&#xff…...

网络协议分析AI应用:使用PyTorch进行网络流量异常检测

网络协议分析AI应用&#xff1a;使用PyTorch进行网络流量异常检测 1. 引言&#xff1a;网络安全的新防线 最近遇到一个真实案例&#xff1a;某电商平台在促销期间突然遭遇流量激增&#xff0c;起初运维团队以为是正常用户访问&#xff0c;直到服务器开始大面积瘫痪才发现是DD…...

为什么Pywinauto Recorder能解决Windows GUI自动化测试的3大痛点

为什么Pywinauto Recorder能解决Windows GUI自动化测试的3大痛点 【免费下载链接】pywinauto_recorder 项目地址: https://gitcode.com/gh_mirrors/py/pywinauto_recorder 在Windows应用自动化测试领域&#xff0c;测试工程师经常面临重复劳动、脚本维护困难、学习曲线…...

OBS直播必备:3D Effect滤镜实战教程,5分钟让你的直播间秒变3D空间

OBS直播3D空间打造指南&#xff1a;从基础配置到高级创意应用 直播间的视觉体验直接影响观众留存率&#xff0c;而3D效果无疑是当前最抓人眼球的呈现方式之一。不同于传统平面直播&#xff0c;3D空间感能让观众产生身临其境的沉浸式体验&#xff0c;特别适合游戏解说、虚拟主播…...