Controller的部分注解
目录
1.增加 用到注解
1.1@RequestBody注解解析:
2.查询方法当中参数不用注解!
3.起售停售用到注解
3.1@PathVariable解析
4.删除菜品注解
4.1@RequestParam
5.修改用到的注解
5.1修改分两步 用到两个注解
6:总结
1.增加 用到注解
@RequestBody
1.1@RequestBody注解解析:
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
/*** 新增菜品** @param dishDTO* @return*/@ApiOperation("新增菜品")@PostMappingpublic Result add(@RequestBody DishDTO dishDTO) {log.info("新增菜品,{}", dishDTO);dishService.add(dishDTO);//构建一个keyString key="dish_"+dishDTO.getCategoryId();//清除缓存redisTemplate.delete(key);return Result.success();}
2.查询方法当中参数不用注解!
/*** 分页查询菜品** @param dishPageQueryDTO* @return*/@ApiOperation("分页查询菜品")@GetMapping("/page")public Result<PageResult> page(DishPageQueryDTO dishPageQueryDTO) {PageResult pageResult = dishService.page(dishPageQueryDTO);return Result.success(pageResult);}
3.起售停售用到注解
@PathVariable
3.1@PathVariable解析
@PathVariable 注解的作用是帮助我们从 URL 中提取路径变量,并将其绑定到方法的参数上。通过使用 @PathVariable 注解,可以更方便地处理 restful 风格的请求,提取路径变量的值,实 url 映射,设计符合 restful API 规范的接口,并简化参数传递的过程。
/***菜品起售停售* @param status* @param id* @return*/@PostMapping("/status/{status}")@ApiOperation("菜品起售停售")public Result<String> startOrStop(@PathVariable Integer status,Long id){dishService.startOrStop(status,id);//清除所有缓存Set keys = redisTemplate.keys("dish_*");redisTemplate.delete(keys);return Result.success();}
4.删除菜品注解
@RequestParam
4.1@RequestParam
加@RequestParam注解:url必须带有参数
/*** 删除菜品** @param ids* @return*/@DeleteMapping@ApiOperation("删除菜品")public Result deleteBatch(@RequestParam List<Long> ids) {log.info("删除菜品:{}", ids);dishService.deleteBatch(ids);//清除所有缓存Set keys = redisTemplate.keys("dish_*");redisTemplate.delete(keys);return Result.success();}
5.修改用到的注解
@PathVariable
@RequestBody
5.1修改分两步 用到两个注解
修改分两步 :
第一步:先查询id 用到@PathVariable注解 起售停售当中用到注解
第二部 :在进行修改 用到@RequestBody注解 也就是增加当中用到注解
/*** 根据id查询菜品相关信息** @param id* @return*/@ApiOperation("根据id查询菜品相关信息")@GetMapping("/{id}")public Result<DishVO> getById(@PathVariable Long id) {DishVO dishVO = dishService.getById(id);return Result.success(dishVO);}/*** 修改菜品* @param dishDTO* @return*/@ApiOperation("修改菜品")@PutMappingpublic Result update(@RequestBody DishDTO dishDTO){log.info("修改菜品参数:{}",dishDTO);dishService.update(dishDTO);
//
// //清除所有缓存
// Set keys = redisTemplate.keys("dish_*");
// redisTemplate.delete(keys);return Result.success();}
6:总结
增删改查 当中 查询不需要注解
增加用到 @RequestBody(JSON 格式数据使用 @RequestBody)
删除用到 @RequestParam(请求参数 是key=value)
修改用到 @PathVariable (路径传参)跟 @RequestBody
另外设计该模块接口中 有时会有 起售停售功能 这种会涉及到@PathVariable
相关文章:
Controller的部分注解
目录 1.增加 用到注解 1.1RequestBody注解解析: 2.查询方法当中参数不用注解! 3.起售停售用到注解 3.1PathVariable解析 4.删除菜品注解 4.1RequestParam 5.修改用到的注解 5.1修改分两步 用到两个注解 6:总结 1.增加 用到注解…...
CMake简明教程 笔记
推荐B站视频:1.1 Cmake构建项目的流程_哔哩哔哩_bilibilihttps://www.bilibili.com/video/BV1xa4y1R7vT?p1&vd_sourcea934d7fc6f47698a29dac90a922ba5a3 >>目录 1)CMake初体验 CMake构建流程Windows下使用CMake构建项目Linux下使用CMake构…...
使用 sorted set 实现令牌桶限流
业务场景为限制消息发送,要求每天不超过一次,每七天不超过三次。 Redission 的 RRateLimiter 虽然功能完备且支持自定义限流配置,但是每个限流器都需要维护三个 key,并且 lua 脚本中的判断逻辑较为复杂。 见:Redisso…...
云上高可用系统-韧性设计模式
一、走近韧性设计模式 (一)基本概念 韧性设计模式是一系列在软件工程中用于提高系统韧性的设计原则、策略、实践和模式。韧性(Resilience)在这里指的是系统对于各种故障、异常和压力的抵抗能力,以及在遭受这些挑战后…...
【保姆级教程】Windows11下go-zero的etcd安装与初步使用
【Go-Zero】Windows11下etcd的安装与初步使用 大家好 我是寸铁👊 总结了一篇Windows11下etcd的安装与初步使用的文章✨ 喜欢的小伙伴可以点点关注 💝 前言: 在使用etcd 前,我们需要了解一下etcd 是什么,为什么使用etcd…...
golang通过go-git下载gitlab源码
1 申请令牌 方法1:具体项目下申请: 方法2:全局申请 2 获取token 3 下载代码 package mainimport ("fmt""os""github.com/go-git/go-git/v5" )func main() {_, err : git.PlainClone("/tmp/foo",…...
探索Pyecharts之美-绘制多彩旭日图的艺术与技巧【第37篇—python:旭日图】
文章目录 引言准备工作绘制基本旭日图调整颜色和样式添加交互功能定制标签和标签格式嵌套层级数据高级样式与自定义进阶主题:动态旭日图数据源扩展:外部JSON文件总结 引言 数据可视化在现代编程中扮演着重要的角色,而Pyecharts是Python中一个…...
c++ QT 信号的个人理解 信号就是独立文件调用的一种“协议”
一. 简介 就我个人来理解,信号槽机制与Windows下消息机制类似,消息机制是基于回调函数,Qt中用信号与槽来代替函数指针,使程序更安全简洁。 信号和槽机制是 Qt 的核心机制,可以让编程人员将互不相关的对象绑定在一起&a…...
C#语法(关键字)
C#关键字 关键字是C#编译器预定义的保留字。这些关键字不能作为标识符,但是,如果您想要用它们做标识符,在这个前面加个字符做前缀。 保留关键字abstractasbaseboolbreakbytecasecatchcharcheckedclassconstcontinuedecimaldefaultdelegated…...
让B端管理软件既美观又实用的解决方案来了
hello宝子们...我们是艾斯视觉擅长ui设计和前端开发10年经验!希望我的分享能帮助到您!如需帮助可以评论关注私信我们一起探讨!致敬感谢感恩! 让B端管理软件既美观又实用的解决方案来了 在当今数字化时代,B端管理软件已…...
npm run dev,vite 配置 ip 访问
启动项目通过本地 ip 的方式访问 方式一.通过修改 package.json "scripts": {"dev": "vite --host 0.0.0.0",}, 方式二.通过修改 vite.config.ts export default defineConfig({plugins: [vue(), vueJsx()],server: { // 配置 host 与 port 方…...
实验3:数据显示输出
1、实验目的: 掌握将内存单元存储的数据显示输出到显示器的方法。 2、实验内容: 将内存单元存储的字节数据(例如 56H)的16进制数的低位输出到显示器并显示。 3、实验要求: (1)运行程序后&a…...
查看 Avro 格式的 Kafka 消息(启用了 Confluent Schema Registry )
使用 Avro 格式传递 Kafka 消息要比 Json 更加高效,因为它是二进制格式,在启用了 Confluent Schema Registry 的情况下,会进一步地提升传输效率,因为 Avro 中的 Schema 信息将不再出现在消息中,消息体积会进一步压缩,同时,还可以利用到 Schema Registry 的其他好处,例如…...
QT+VS实现Kmeans聚类算法
1、Kmeans的定义 聚类是一个将数据集中在某些方面相似的数据成员进行分类组织的过程,聚类就是一种发现这种内在结构的技术,聚类技术经常被称为无监督学习。k均值聚类是最著名的划分聚类算法,由于简洁和效率使得他成为所有聚类算法中最广泛使…...
openssl3.2 - 测试程序的学习 - test\acvp_test.c
文章目录 openssl3.2 - 测试程序的学习 - test\acvp_test.c概述笔记要单步学习的测试函数备注END openssl3.2 - 测试程序的学习 - test\acvp_test.c 概述 openssl3.2 - 测试程序的学习 将test*.c 收集起来后, 就不准备看makefile和make test的日志参考了. 按照收集的.c, 按照…...
Qt Quick 项目(第二集Qt Quick Application创建)
上集回顾 Qt Quick 项目(第一集Qt Quick UI 项目项目创建) 如果将程序的用户界面称为前端,将程序中的数据存储和业务逻辑称为后端,那么传统Qt应用程序的前端和后端都是使用C++来完成的。对于现代软件开发而言,这里有一个存在已久的冲突:前端的演化速度要远快于后端。当用…...
深度强化学习(王树森)笔记03
深度强化学习(DRL) 本文是学习笔记,如有侵权,请联系删除。本文在ChatGPT辅助下完成。 参考链接 Deep Reinforcement Learning官方链接:https://github.com/wangshusen/DRL 源代码链接:https://github.c…...
Cesium材质特效
文章目录 0.引言1.视频材质2.分辨率尺度3.云4.雾5.动态水面6.雷达扫描7.流动线8.电子围栏9.粒子烟花10.粒子火焰11.粒子天气 0.引言 现有的gis开发方向较流行的是webgis开发,其中Cesium是一款开源的WebGIS库,主要用于实时地球和空间数据的可视化和分析。…...
华为产业链之车载激光雷达
一、智能汽车 NOA 加快普及,L3 上路利好智能感知硬件 1、感知层是 ADAS 最重要的一环 先进驾驶辅助系统 (ADAS, Advanced driver-assistance system)分“感知层、决策层、执行层”三个层级,其中感知层是最重要的一环…...
java的Object类的hasCode()和ToString()
(1)hasCode解释 hashCode()是Object类中定义的方法,用于返回对象的哈希码值。哈希码值是一个整数,用于在哈希表等数据结构中快速定位对象。 在Java中,哈希码值的计算是基于对象的内存地址的。默认情况下,ha…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...
【SQL学习笔记1】增删改查+多表连接全解析(内附SQL免费在线练习工具)
可以使用Sqliteviz这个网站免费编写sql语句,它能够让用户直接在浏览器内练习SQL的语法,不需要安装任何软件。 链接如下: sqliteviz 注意: 在转写SQL语法时,关键字之间有一个特定的顺序,这个顺序会影响到…...
css的定位(position)详解:相对定位 绝对定位 固定定位
在 CSS 中,元素的定位通过 position 属性控制,共有 5 种定位模式:static(静态定位)、relative(相对定位)、absolute(绝对定位)、fixed(固定定位)和…...
Angular微前端架构:Module Federation + ngx-build-plus (Webpack)
以下是一个完整的 Angular 微前端示例,其中使用的是 Module Federation 和 npx-build-plus 实现了主应用(Shell)与子应用(Remote)的集成。 🛠️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...
Webpack性能优化:构建速度与体积优化策略
一、构建速度优化 1、升级Webpack和Node.js 优化效果:Webpack 4比Webpack 3构建时间降低60%-98%。原因: V8引擎优化(for of替代forEach、Map/Set替代Object)。默认使用更快的md4哈希算法。AST直接从Loa…...
LangFlow技术架构分析
🔧 LangFlow 的可视化技术栈 前端节点编辑器 底层框架:基于 (一个现代化的 React 节点绘图库) 功能: 拖拽式构建 LangGraph 状态机 实时连线定义节点依赖关系 可视化调试循环和分支逻辑 与 LangGraph 的深…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
LLaMA-Factory 微调 Qwen2-VL 进行人脸情感识别(二)
在上一篇文章中,我们详细介绍了如何使用LLaMA-Factory框架对Qwen2-VL大模型进行微调,以实现人脸情感识别的功能。本篇文章将聚焦于微调完成后,如何调用这个模型进行人脸情感识别的具体代码实现,包括详细的步骤和注释。 模型调用步骤 环境准备:确保安装了必要的Python库。…...
算法打卡第18天
从中序与后序遍历序列构造二叉树 (力扣106题) 给定两个整数数组 inorder 和 postorder ,其中 inorder 是二叉树的中序遍历, postorder 是同一棵树的后序遍历,请你构造并返回这颗 二叉树 。 示例 1: 输入:inorder [9,3,15,20,7…...
Python训练营-Day26-函数专题1:函数定义与参数
题目1:计算圆的面积 任务: 编写一个名为 calculate_circle_area 的函数,该函数接收圆的半径 radius 作为参数,并返回圆的面积。圆的面积 π * radius (可以使用 math.pi 作为 π 的值)要求:函数接收一个位置参数 radi…...
