前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SpringBoot Controller接收参数的几种方式

SpringBoot Controller接收参数的几种方式

作者头像
jwangkun
发布2021-12-27 11:25:22
9.5K0
发布2021-12-27 11:25:22
举报
文章被收录于专栏:John Wong's Blog

Controller接收参数的常用方式总体可以分为三类。第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递。

1 @PathVariable接收参数

请求方式:localhost:7001/param/123

请求示例:

代码示例:

代码语言:javascript
复制
@GetMapping("{id}")
public String getPathVariable(@PathVariable String id){
    return "id="+id;
}

2 @RequestParam接收参数

使用这个注解需要注意两个点,一是加了这个参数后则请求中必须传递这个参数,二是@RequestParam这个注解可以指定名字,请求参数必须和指定的这个名字相同,如果不指定,则默认为具体参数名。

请求方式:localhost:7001/param/getParam?myId=18

请求示例:

代码示例:

代码语言:javascript
复制
@GetMapping("getParam")
public String getRequestParam(@RequestParam("myId") String id){
    return "id="+id;
}

3 无注解传参

这种方式和2对比,最大的区别就是这个参数不是必传的,请求路径上可以不传递。

请求方式:localhost:7001/param/getString?id=18

请求示例:

代码示例:

代码语言:javascript
复制
@GetMapping("getString")
public String getString(String id){
    return "id="+id;
}

4 HttpServletRequest接收参数

请求方式:localhost:7001/param/getRequest?id=18

请求示例:

代码示例:

代码语言:javascript
复制
@GetMapping("getRequest")
public String getRequest(HttpServletRequest request){
    String id = request.getParameter("id");
    return "id="+id;
}

5 @RequestBody接收请求体参数

这种方式一般用来传递实体对象,加了这个注解后,参数也是必传的。

请求方式:{"id":18}

请求示例:

代码示例:

代码语言:javascript
复制
@PostMapping("getBody")
public String getBody(@RequestBody String id){
    return "id="+id;
}

6 @RequestHeader接收请求头参数

请求示例:

代码示例:

代码语言:javascript
复制
@PostMapping("getHeader")
public String getHeader(@RequestHeader String id){
    return "id="+id;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-11-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 @PathVariable接收参数
  • 2 @RequestParam接收参数
  • 3 无注解传参
  • 4 HttpServletRequest接收参数
  • 5 @RequestBody接收请求体参数
  • 6 @RequestHeader接收请求头参数
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档