目录
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("新增菜品") @PostMapping public Result add(@RequestBody DishDTO dishDTO) { log.info("新增菜品,{}", dishDTO); dishService.add(dishDTO); //构建一个key String key="dish_"+dishDTO.getCategoryId(); //清除缓存 redisTemplate.delete(key); return Result.success(); }
2.查询方法当中参数不用注解!
/** * 分页查询菜品 * * @param dishPageQueryDTO * @return */ @ApiOperation("分页查询菜品") @GetMapping("/page") public Resultpage(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 ResultstartOrStop(@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 Listids) { 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 ResultgetById(@PathVariable Long id) { DishVO dishVO = dishService.getById(id); return Result.success(dishVO); } /** * 修改菜品 * @param dishDTO * @return */ @ApiOperation("修改菜品") @PutMapping public 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