个人名片:
博主:酒徒ᝰ.
专栏:瑞吉外卖
个人简介:沉醉在酒中,借着一股酒劲,去拼搏一个未来。
本篇励志:不要看到别人的回复第一句话就说:给个代码吧!你应该想想为什么。当你自己想出来再参考别人的提示,你就知道自己和别人思路的差异。
本项目基于B站黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis plus开发核心技术的真java实战项目。
视频链接【黑马程序员Java项目实战《瑞吉外卖》,轻松掌握springboot + mybatis
plus开发核心技术的真java实战项目】 https://www.bilibili.com/video/BV13a411q753
点击观看
一、页面显示
分析:category地址,GET方式,page地址,page,pageSize属性
在CategoryController类中写代码。
package com.itheima.reggie.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.itheima.reggie.common.R;
import com.itheima.reggie.entity.Category;
import com.itheima.reggie.service.ICategoryService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 菜品及套餐分类 前端控制器
* </p>
*
* @author 酒徒
* @since 2022-09-04
*/
@RestController
@RequestMapping("/category")
public class CategoryController {
@Autowired
private ICategoryService categoryService;
/**
* 页面展示
* @param page
* @param pageSize
* @return
*/
@GetMapping("/page")
public R<Page> page(int page, int pageSize){
//页面构造器
Page<Category> pageInfo = new Page<>(page, pageSize);
//查询数据库category表中全部信息
LambdaQueryWrapper<Category> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.orderByDesc(Category::getUpdateTime);
categoryService.page(pageInfo, queryWrapper);
return R.success(pageInfo);
}
}
二、新增菜品分类
分析:category地址,POST方式
在进行操作时,先获取一下信息,查询缺少哪些必须属性,然后一一添加。
这里是:createTime=null, updateTime=null, createUser=null, updateUser=null
/**
* 添加菜品和套餐
* @param request
* @param category
* @return
*/
@PostMapping
public R<String> category(HttpServletRequest request, @RequestBody Category category){
//log.info("category:{}",category);//category:Category(id=null, type=1, name=11, sort=11, createTime=null, updateTime=null, createUser=null, updateUser=null)
//添加创建时间和修改时间
category.setCreateTime(LocalDateTime.now());
category.setUpdateTime(LocalDateTime.now());
//添加创建人和修改人
Long empId = (Long) request.getSession().getAttribute("employee");
category.setCreateUser(empId);
category.setUpdateUser(empId);
//执行
categoryService.save(category);
return R.success("添加成功");
}
三、修改
分析:category地址,PUT方式
/**
* 修改分类
* @param category
* @return
*/
@PutMapping
public R<String> category(@RequestBody Category category){
categoryService.updateById(category);
return R.success("修改成功");
}
四、删除
分析:category地址,ids属性,DELETE方式
/**
* 删除分类
* @param ids
* @return
*/
@DeleteMapping
public R<String> category(@PathParam("ids") Long ids){
//log.info("ids:{}",ids);
categoryService.removeById(ids);
return R.success("删除成功");
}