清空购物车
[TOC]
简要描述
- 清空购物车接口
前端页面和服务端的交互过程
- 点击清空购物车按钮,页面发送ajax请求,请求服务端来执行清空购物车操作
触发事件
<div class="clear" @click="clearCart">
<i class="el-icon-delete"></i> 清空
</div>
接口调用
async clearCart(){
const res = await clearCartApi()
if(res.code === 1){
for(let ele of this.dishList){
ele.number = undefined
}
this.cartData = []
this.cartDialogShow = false
}else{
this.$notify({ type:'warning', message:res.msg});
}
},
请求URL
[context-path]/shoppingCart/clean
请求方式
- delete
接口API
function clearCartApi() {
return $axios({
'url': '/shoppingCart/clean',
'method': 'delete',
})
}
返回示例
code: 1
data: "购物车已清空,请重新选择"
map: {}
msg: null
返回参数说明
参数名 | 类型 | 说明 |
---|---|---|
code | int | 返回码,1:成功;0或其他:失败 |
msg | string | 错误信息 |
data | object | 返回数据 |
map | map | 动态数据 |
备注
data有两种返回值
public static <T> R<T> success(T object) {
R<T> r = new R<T>();
r.data = object;
r.code = 1;
return r;
}
public static <T> R<T> error(String msg) {
R r = new R();
r.msg = msg;
r.code = 0;
return r;
}
后端代码
@DeleteMapping("/clean")
public R<String> clean(){
LambdaQueryWrapper<ShoppingCart> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(ShoppingCart::getUserId,BaseContext.getCurrentId());
shoppingCartService.remove(queryWrapper);
return R.success("购物车已清空,请重新选择");
}