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

接口分析

接口

  • 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菜品表其中所关联的口味表其中的信息数据来进行实际的删除

相关推荐
龙文浩_4 小时前
Attention Mechanism: From Theory to Code
人工智能·深度学习·神经网络·学习·自然语言处理
守护安静星空5 小时前
esp32开发笔记-工程搭建
笔记·单片机·嵌入式硬件·物联网·visual studio code
ljt27249606615 小时前
Compose笔记(七十七)--视频录制
笔记·android jetpack
爱上好庆祝6 小时前
svg图片
前端·css·学习·html·css3
嵌入式小企鹅6 小时前
蓝牙学习系列(八):BLE L2CAP 协议详解
网络·学习·蓝牙·ble·协议栈·l2cap
周周不一样7 小时前
Andorid基础笔记2-jar&反射
笔记·pycharm·jar
jiayong237 小时前
第 8 课:开始引入组合式函数
前端·javascript·学习
智者知已应修善业7 小时前
【51单片机单按键切换广告屏】2023-5-17
c++·经验分享·笔记·算法·51单片机
格鸰爱童话8 小时前
向AI学习项目技能(五)
java·学习
技术人生黄勇8 小时前
拆解 Hermes Agent:开源 Agent 里唯一的闭环学习系统
学习