发布时间:2026/7/12 1:07:01
【苍穹外卖笔记】第四天内容 一、课程内容预览自主完成套餐相关全部接口开发修复根据分类id查询菜品的Bug额外二、笔记第四天的内容没有视频资源需要我们使用之前学习到的知识自主地完成套餐相关全部接口的开发这部分需要各位手操完成只是在完成这部分时在最后的测试阶段我发现了一个业务代码存在的bug所以想在这里写下我修改bug的历程/** * 根据分类id查询菜品 * param categoryId * return */GetMapping(/list)ApiOperation(根据分类id查询菜品)publicResultListDishlist(LongcategoryId){ListDishlistdishService.list(categoryId);returnResult.success(list);}这个是我们原本设计的接口这个接口的作用是在添加和修改套餐时用于快速定位想要添加入套餐的菜品而使用的但是最后前后端联调测试的时候我发现前端按照分类查询各个菜品的功能完全正常不正常的时右上角按照菜品名查询菜品的功能我仔细研读了前端代码后发现这个功能会把name属性发送到/admin/dish/list而这个路径正是上面根据分类id查询菜品接口接收数据的请求路径但是这个接口只接收categoryId一种数据所以name无法传递过来自然使得按照菜品名查询的功能失效。这个时候我试图在同一个请求路径下写两个不同的接口接收数据/** * 根据菜品名字查询菜品 * param name * return */GetMapping(/list)ApiOperation(根据菜品名字查询菜品)publicResultListDishgetByName(RequestParamStringname){log.info(根据菜品名字查询菜品:{},name);ListDishdishsdishService.getByName(name);returnResult.success(dishs);}但是这又导致了另一个严重的bug两个接口请求路径完全相同请求方式也一样Spring 无法区分启动直接报错。所以我采用了重构这个接口的方法解决问题/** * 根据输入信息查询菜品 * param categoryId * return */GetMapping(/list)ApiOperation(根据输入信息查询菜品)publicResultListDishgetByCategoryIdOrName(LongcategoryId,Stringname){log.info(根据输入信息查询菜品:{},categoryId,name);ListDishdishsdishService.list(categoryId,name);returnResult.success(dishs);}使其同时接收两种数据同时重构了实现类/** * 根据分类id查询菜品 * param categoryId * return */OverridepublicListDishlist(LongcategoryId,Stringname){DishdishDish.builder().categoryId(categoryId).name(name).status(StatusConstant.ENABLE).build();returndishMapper.list(dish);}使其可以灵活适应这种变化这样修改后就没有错误了前端的分类查询菜品和搜索名称查询菜品都可以正常使用。三、结语这一天的内容虽然没有视频资源但却是我前几天学习所有内容的总结让我能够及时把刚学会的知识转化到项目编写上算是一次不错的经验积累。

相关新闻

2026/7/12 1:07:01

Vulkan进阶系列20 - Vulkan 1.0 API 一览

分类 API 作用 Physical Device 查询 vkEnumeratePhysicalDevices 枚举系统里的 GPU vkGetPhysicalDeviceFeatures 查询 GPU 支持哪些功能(几何着色器、各向异性过滤等) vkGetPhysicalDeviceProperties 查询 GPU 基本信息(型号、版本、限制参数) vkGetPhysicalDeviceFormat…

2026/7/12 1:07:01

AI论文写作工具哪家强?多款主流平台深度对比与评测

一、毕业党的论文困境:AI论文工具是解药还是鸡肋? 每年毕业季,无数毕业生都在为“写不完的论文”头疼——选题换了又换,大纲改了又改,好不容易憋出正文,一查重30%以上,参考文献还是AI论文工具瞎…

2026/7/12 2:07:05

ESP8266 Deauth攻击原理与防御:实测5GHz频段无效及3种防护策略

ESP8266 Deauth攻击技术解析与5GHz频段免疫原理1. 802.11管理帧漏洞的本质Wi-Fi网络的Deauth攻击之所以能够得逞,根源在于IEEE 802.11协议设计中的一个历史性缺陷。这个漏洞存在于管理帧(Management Frame)的认证机制中——与数据帧不同&…

2026/7/12 2:07:05

《无人查收》:4K画质下的心理博弈与复仇反转深度解析

1. 先搞清楚这部作品到底在讲什么光看标题“一口气看完4K画质神作《无人查收》温柔护士遭快递员侵害,创伤缠身的她频繁探监示好施暴者,假意温情设下陷阱,极致暗黑复仇反转,人性博弈窒息感拉满”,很多人会以为这是个简单…

2026/7/12 2:02:04

Draw.io 2026 UML 类图绘制:3种关系连接器与5个属性编辑技巧详解

Draw.io 2026 UML 类图绘制:3种关系连接器与5个属性编辑技巧详解在软件工程领域,UML类图是系统设计和架构沟通的核心工具。作为2026年最受欢迎的在线绘图工具之一,Draw.io凭借其强大的功能和简洁的界面,成为工程师绘制专业级UML类…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/12 0:01:29

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南

3步解锁音乐自由:ncmdumpGUI终极NCM文件解密转换指南 【免费下载链接】ncmdumpGUI C#版本网易云音乐ncm文件格式转换,Windows图形界面版本 项目地址: https://gitcode.com/gh_mirrors/nc/ncmdumpGUI 你是否曾在网易云音乐下载了心爱的歌曲&#…

2026/7/12 0:01:29

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境

CANoe 19 SP3 配置 GB/T 27930-2023 A类系统:3步搭建BMS仿真测试环境随着新能源汽车行业的快速发展,充电通信协议的标准化和测试验证变得尤为重要。GB/T 27930-2023作为中国智能充电协议的最新版本,对充电机与电动汽车之间的通信提出了更严格…

2026/7/12 0:01:29

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡

3步搞定RTL8852BE驱动:从零开始配置Wi-Fi 6网卡 【免费下载链接】rtl8852be Realtek Linux WLAN Driver for RTL8852BE 项目地址: https://gitcode.com/gh_mirrors/rt/rtl8852be 还在为Linux系统无法识别RTL8852BE Wi-Fi 6网卡而烦恼吗?&#x1f…

2026/7/11 8:37:53

3个高效策略:快速掌握Axure中文界面配置

3个高效策略:快速掌握Axure中文界面配置 【免费下载链接】axure-cn Chinese language file for Axure RP. Axure RP 简体中文语言包。支持 Axure 11、10、9。不定期更新。 项目地址: https://gitcode.com/gh_mirrors/ax/axure-cn 还在为Axure RP的英文界面感…