学习笔记-菜品接口-删除菜品

接口分析

接口

  • DELETE:表示删除操作(REST 风格)

  • 批量删除:一次可以删多个菜品

请求参数

该批量删除接口通过 Query 参数 ids 接收多个菜品 id,

id 之间用逗号分隔。

补充:针对其中的Query参数我们此处通过对应的@RequestParam注解来进行获取参数信息

返回响应

code:业务状态码

data:返回数据

msg:提示信息

代码开发

DIshController代码开发

@DeleteMapping:把 HTTP DELETE 请求映射到这个方法

方法参数:@RequestParam List<Long> ids

由于ids是Query参数信息(放在URL的?后面)

形参接受List集合

Spring MVC 会自动做两件事:

  1. 按逗号分割"1,2,3"["1","2","3"]

  2. 类型转换:字符串 → Long

Service其中代码&实现类其中代码

这个方法是 Service 层对外暴露的"批量删除菜品"的业务入口,

用来承接 Controller 传下来的菜品 id 列表,

并在实现类中完成所有"删除前校验 + 实际删除"的业务逻辑。

实现类

1.优先来判断当前菜品是否处于起售其中状态,对于起售状态的菜品我们无法来进行删除操作

2.假设当前需要来删除的菜品被具体的某个套餐所关联了,我们无法来进行实际的具体删除操作

排除了两种无法来进行删除当前菜品的信息之后,对应来进行实际的删除即可对应删除该菜品信息之后,对应的去删除口味表其中所关联的口味信息数据

Mapper其中操作

根据id值去查询对应的dish对象

套餐Mapper其中来实际查询对应的套餐信息

根据对应的dish_id来删除实际的对应的菜品信息

对应的将dish菜品表其中所关联的口味表其中的信息数据来进行实际的删除

相关推荐
AI营销前沿2 分钟前
AI市场分析平台榜单发布:原圈科技如何破解全球化增长难题?
笔记
£漫步 云端彡4 分钟前
Golang学习历程【第十一篇 接口(interface)】
开发语言·学习·golang
三水不滴9 小时前
Redis 过期删除与内存淘汰机制
数据库·经验分享·redis·笔记·后端·缓存
wdfk_prog10 小时前
[Linux]学习笔记系列 -- [drivers][i2c]i2c-dev
linux·笔记·学习
土拨鼠烧电路10 小时前
笔记03:业务语言速成:“人、货、场”模型与IT系统全景图
笔记
2301_8127314111 小时前
CSS3笔记
前端·笔记·css3
越努力越幸运50811 小时前
CSS3学习之网格布局grid
前端·学习·css3
chillxiaohan12 小时前
GO学习记录——多文件调用
开发语言·学习·golang
小乔的编程内容分享站12 小时前
记录使用VSCode调试含scanf()的C语言程序出现的两个问题
c语言·开发语言·笔记·vscode
中屹指纹浏览器13 小时前
2026年指纹浏览器技术迭代与风控对抗演进
经验分享·笔记