当前位置: 首页 > news >正文

Controller的部分注解

目录

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

http://www.lryc.cn/news/289564.html

相关文章:

  • CMake简明教程 笔记
  • 使用 sorted set 实现令牌桶限流
  • 云上高可用系统-韧性设计模式
  • 【保姆级教程】Windows11下go-zero的etcd安装与初步使用
  • golang通过go-git下载gitlab源码
  • 探索Pyecharts之美-绘制多彩旭日图的艺术与技巧【第37篇—python:旭日图】
  • c++ QT 信号的个人理解 信号就是独立文件调用的一种“协议”
  • C#语法(关键字)
  • 让B端管理软件既美观又实用的解决方案来了
  • npm run dev,vite 配置 ip 访问
  • 实验3:数据显示输出
  • 查看 Avro 格式的 Kafka 消息(启用了 Confluent Schema Registry )
  • QT+VS实现Kmeans聚类算法
  • openssl3.2 - 测试程序的学习 - test\acvp_test.c
  • Qt Quick 项目(第二集Qt Quick Application创建)
  • 深度强化学习(王树森)笔记03
  • Cesium材质特效
  • 华为产业链之车载激光雷达
  • java的Object类的hasCode()和ToString()
  • php数组算法(1)判断一维数组和多元数组中的元素是否相等并输出键值key
  • 已解决Error:AttributeError: module ‘numpy‘ has no attribute ‘float‘.
  • WordPress块编辑器(Gutenberg古腾堡)中如何添加脚注?
  • burpsuite怎么进行本地抓包?ctfer测试自搭建靶场必须学会!
  • VSCode Python调试运行:json编写
  • 自动化Web页面性能测试介绍
  • 可视化 | 【d3】力导向关系图优化(搜索+刷新)
  • 2024.1.26力扣每日一题——计算 K 置位下标对应元素的和
  • R语言【taxlist】——levels():获取或设置分类等级列表
  • 单元测试——题目十三
  • 使用Linux SDK客户端向AWS Iot发送数据