目录
1.增加 用到注解
1.1@RequestBody注解解析:
2.查询方法当中参数不用注解!
3.起售停售用到注解
3.1@PathVariable解析
4.删除菜品注解
4.1@RequestParam
5.修改用到的注解
5.1修改分两步 用到两个注解
6:总结
1.增加 用到注解
@RequestBody
1.1@RequestBody注解解析:
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。
/*** 新增菜品** @param dishDTO* @return*/@ApiOperation("新增菜品")@PostMappingpublic Result add(@RequestBody DishDTO dishDTO) {log.info("新增菜品,{}", dishDTO);dishService.add(dishDTO);//构建一个keyString key="dish_"+dishDTO.getCategoryId();//清除缓存redisTemplate.delete(key);return Result.success();}
2.查询方法当中参数不用注解!
/*** 分页查询菜品** @param dishPageQueryDTO* @return*/@ApiOperation("分页查询菜品")@GetMapping("/page")public Result<PageResult> page(DishPageQueryDTO dishPageQueryDTO) {PageResult pageResult = dishService.page(dishPageQueryDTO);return Result.success(pageResult);}
3.起售停售用到注解
@PathVariable
3.1@PathVariable解析
@PathVariable 注解的作用是帮助我们从 URL 中提取路径变量,并将其绑定到方法的参数上。通过使用 @PathVariable 注解,可以更方便地处理 restful 风格的请求,提取路径变量的值,实 url 映射,设计符合 restful API 规范的接口,并简化参数传递的过程。
/***菜品起售停售* @param status* @param id* @return*/@PostMapping("/status/{status}")@ApiOperation("菜品起售停售")public Result<String> startOrStop(@PathVariable Integer status,Long id){dishService.startOrStop(status,id);//清除所有缓存Set keys = redisTemplate.keys("dish_*");redisTemplate.delete(keys);return Result.success();}
4.删除菜品注解
@RequestParam
4.1@RequestParam
加@RequestParam注解:url必须带有参数
/*** 删除菜品** @param ids* @return*/@DeleteMapping@ApiOperation("删除菜品")public Result deleteBatch(@RequestParam List<Long> ids) {log.info("删除菜品:{}", ids);dishService.deleteBatch(ids);//清除所有缓存Set keys = redisTemplate.keys("dish_*");redisTemplate.delete(keys);return Result.success();}
5.修改用到的注解
@PathVariable
@RequestBody
5.1修改分两步 用到两个注解
修改分两步 :
第一步:先查询id 用到@PathVariable注解 起售停售当中用到注解
第二部 :在进行修改 用到@RequestBody注解 也就是增加当中用到注解
/*** 根据id查询菜品相关信息** @param id* @return*/@ApiOperation("根据id查询菜品相关信息")@GetMapping("/{id}")public Result<DishVO> getById(@PathVariable Long id) {DishVO dishVO = dishService.getById(id);return Result.success(dishVO);}/*** 修改菜品* @param dishDTO* @return*/@ApiOperation("修改菜品")@PutMappingpublic Result update(@RequestBody DishDTO dishDTO){log.info("修改菜品参数:{}",dishDTO);dishService.update(dishDTO);
//
// //清除所有缓存
// Set keys = redisTemplate.keys("dish_*");
// redisTemplate.delete(keys);return Result.success();}
6:总结
增删改查 当中 查询不需要注解
增加用到 @RequestBody(JSON 格式数据使用 @RequestBody)
删除用到 @RequestParam(请求参数 是key=value)
修改用到 @PathVariable (路径传参)跟 @RequestBody
另外设计该模块接口中 有时会有 起售停售功能 这种会涉及到@PathVariable