@PathVariable

当使用@RequestMapping URI template 样式映射时,@PathVariable能使传过来的参数绑定到路由上,这样比较容易写出restful api,看代码

    @RequestMapping(value="/{id}", method=RequestMethod.GET)public List<Map<String, Object>> getUser(@PathVariable Integer id) {return userService.getUserById(id);}

上面这个接口可通过get请求 http://xxxxx/1111来得到想要的数据,1111既是getUser的方法参数又是@RequestMapping的路由。如果方法参数不想写成和路由一样的应该怎么办?看代码:

    @RequestMapping(value="/{uid}", method=RequestMethod.GET)public List<Map<String, Object>> getUser(@PathVariable("uid") Integer id) {return userService.getUserById(id);}

在@PathVariable后面接入“uid”就可以了。

@RequestParam

@RequestParam和@PathVariable的区别就在于请求时当前参数是在url路由上还是在请求的body上,例如有下面一段代码:

    @RequestMapping(value="", method=RequestMethod.POST)public String postUser(@RequestParam(value="phoneNum", required=true) String phoneNum ) String userName) {userService.create(phoneNum, userName);return "success";}

这个接口的请求url这样写:http://xxxxx?phoneNum=xxxxxx,也就是说被@RequestParam修饰的参数最后通过key=value的形式放在http请求的Body传过来,对比下上面的@PathVariable就很容易看出两者的区别了。

@RequestBody

@RequestBody能把简单json结构参数转换成实体类,如下代码:

    @RequestMapping(value = "/testUser", method = RequestMethod.POST)public String testUser(@RequestBody User user){System.out.print(user.getAge());return "success";}

参数为:

{"id":1,"user":"pkxutao","name":"name","age":18}

传参:@RequestParam @RequestBody @PathVariable的作用相关推荐

  1. @RequestParam @RequestBody @PathVariable 等参数绑定注解详解

    文章主要讲解request 数据到handler method 参数数据的绑定所用到的注解和什么情形下使用. 简介: handler method 参数绑定常用的注解,我们根据他们处理的Request ...

  2. @RequestParam,@RequestBody,@PathVariable注解还分不清吗?

    前言 在使用 SpringMVC 开发时,经常遇到前端传递的各种参数,比如 form 表单,JSON 数据,String[] 数组,再或者是最常见的 String 字符串等等,总之大部分场景都是在标题 ...

  3. @RequestParam @RequestBody @PathVariable 等参数绑定

    注解 请求 说明 @PathVariable 处理request url部分 @RequestMapping(" someUrl/{paramId}") @RequestHeade ...

  4. openFegin传参

    openFegin传参 学习 项目之间调用Feign 简单依赖调用 openFegin 传参 Get请求 单参数 多参数 对象传参 get传参代码 post 传参 单参 多参数 对象 post 代码 ...

  5. @RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解

    后端接收前端传的参数主要有两种方式: 第一种: 用变量来接收,前端传递的参数会对相同变量名进行赋值. 第(1)种: @GetMapping("/info/{id}")public ...

  6. @RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解的使用及区别

    @RequestBody @RequestBody 主要用来接收前端传递给后端的 json 字符串中的数据(请求体中的数据): Get 方式无请求体,所以使用 @RequestBody 接收数据时,前 ...

  7. @RequestBody、@RequestParam、@PathVariable

    @RequestBody.@RequestParam.@PathVariable RequestParam 后端接收 可以设置默认值@RequestParam(value="currentp ...

  8. esp和ebp在传参过程中的变化和作用

    栈帧 esp和ebp在传参过程中的作用和连续:(12条消息) 函数调用过程中的栈帧结构及其变化_AC-NEWBIE的博客-CSDN博客_函数调用栈帧结构 从汇编角度深刻理解函数调用过程 (参数如何传递 ...

  9. java中注解动态传参_SpringMVC之注解、传参、返回值及拦截器

    1. 注解式开发之annotation-driven解释 (1) mvc注解驱动在哪个文件中配置? Springmvc.xml (2) 配置mvc注解驱动使用哪个标签? 2. 注解式开发之视图解析器 ...

最新文章

  1. python怎么输入列表元素每个元素占一行_如何对列表的每个元素执行操作并将结果放在Python的新列表中?...
  2. 土木工程到底有多惨?哭了哭了......
  3. 与传统的计算机硬件系统相比,计算机一级名词解释
  4. python量化数据处理小细节(以后还会不断补充)
  5. thinkpad s3 安装win8 kali双系统笔记
  6. vRealize-Operations-Manager-Appliance-8.2.0 VROPS 8.2安装部署
  7. 用easyx画五角星_冷军画了一把破剪刀, 竟然卖到了160万,被专家抨击:乱涂鸦!得奖后专家顿时不说话了...
  8. android 按下缩小效果松开恢复_22省份三季报:粤苏总量差距缩小,19省份实现正增长...
  9. 智能优化算法:吉萨金子塔建造优化算法-附代码
  10. Package has no installation candidate
  11. 学生寝室管理系统-C语言版
  12. 批量大气校正高分2号(GF2)卫星数据
  13. 单片机p1口亮灯c语言代码,单片机闪烁灯汇编语言源代码大全(四款闪烁灯的汇编语言源代码)...
  14. Caravan Robbers CF Gym - 100134C
  15. 动态规划之最大非空子段和
  16. 【MATLAB】 01 基本操作与数组输入
  17. 全景管家在线解析720yun、蛙色中krpano全景图
  18. npm 和 cnpm 的区别
  19. access找不到输入表或者dual_神奇的DUAL表总结
  20. python计算ex函数_python – numpy:计算softmax函数的导数

热门文章

  1. asp.net夜话之十一:web.config详解
  2. 把字符串复制到剪贴板
  3. 利用消息机制实现.NET AOP(面向方面编程)--基本概念和实现
  4. 关于Metropolis-Hasting采样的两个注意事项
  5. 大数据挖掘有哪些技术
  6. 企业如何搭建物联卡云平台
  7. html 并集选择器,HTML+CSS基础 并集选择器
  8. sql 包含某个字符_「17」MySQL中正则表达式查询的SQL语句集锦
  9. 邮票面值设计java_邮票面值设计
  10. 中切片工具怎么使用_技巧|Excel中切片器的2个使用方法!