Spring Boot中Controller接收参数的常用方法有哪些详细解析?

2026-05-16 06:071阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计765个文字,预计阅读时间需要4分钟。

Spring Boot中Controller接收参数的常用方法有哪些详细解析?

%E2%80%9C%E6%8E%A5%E6%94%B6%E5%8F%82%E6%95%B0%E7%9A%84%E5%B8%B8%E7%94%A8%E6%96%B9%E5%BC%8F%E6%80%BB%E4%BD%93%E5%8F%AF%E4%BB%A5%E5%88%86%E4%B8%BA%E4%B8%89%E7%B1%BB%E3%80%82%E7%AC%AC%E4%B8%80%E7%B1%BB%E6%98%AFGet%E8%AF%B7%E6%B1%82%E9%80%9A%E8%BF%87%E6%8B%BC%E6%8E%A5url%E8%BF%9B%E8%A1%8C%E4%BC%A0%E9%80%92%EF%BC%8C%E7%AC%AC%E4%BA%8C%E7%B1%BB%E6%98%AFPost%E8%AF%B7%E6%B1%82%E9%80%9A%E8%BF%87%E8%AF%B7%E6%B1%82%E4%BD%93%E8%BF%9B%E8%A1%8C%E4%BC%A0%E9%80%92%EF%BC%8C%E7%AC%AC%E4%B8%89%E7%B1%BB%E6%98%AF%E9%80%9A%E8%BF%87%E8%AF%B7%E6%B1%82%E5%A4%B4%E9%83%A8%E8%BF%9B%E8%A1%8C%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E3%80%82+1+%40PathVariable%E6%8E%A5%E6%94%B6%E5%8F%82%E2%80%9D

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

1 @PathVariable接收参数

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

请求示例:

代码示例:

@GetMapping("{id}") public String getPathVariable(@PathVariable String id){ return "id="+id; }

2 @RequestParam接收参数

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

Spring Boot中Controller接收参数的常用方法有哪些详细解析?

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

请求示例:

代码示例:

@GetMapping("getParam") public String getRequestParam(@RequestParam("myId") String id){ return "id="+id; }

3 无注解传参

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

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

请求示例:

代码示例:

@GetMapping("getString") public String getString(String id){ return "id="+id; }

4 HttpServletRequest接收参数

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

请求示例:

代码示例:

@GetMapping("getRequest") public String getRequest(HttpServletRequest request){ String id = request.getParameter("id"); return "id="+id; }

5 @RequestBody接收请求体参数

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

请求方式:{“id”:18}

请求示例:

代码示例:

@PostMapping("getBody") public String getBody(@RequestBody String id){ return "id="+id; }

6 @RequestHeader接收请求头参数

请求示例:

代码示例:

@PostMapping("getHeader") public String getHeader(@RequestHeader String id){ return "id="+id; }

此是spring-boot-route系列的第一篇文章,这个系列的文章都比较简单,主要目的就是为了帮助初次接触Spring Boot 的同学有一个系统的认识。

github:github.com/binzh303/spring-boot-route

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。

本文共计765个文字,预计阅读时间需要4分钟。

Spring Boot中Controller接收参数的常用方法有哪些详细解析?

%E2%80%9C%E6%8E%A5%E6%94%B6%E5%8F%82%E6%95%B0%E7%9A%84%E5%B8%B8%E7%94%A8%E6%96%B9%E5%BC%8F%E6%80%BB%E4%BD%93%E5%8F%AF%E4%BB%A5%E5%88%86%E4%B8%BA%E4%B8%89%E7%B1%BB%E3%80%82%E7%AC%AC%E4%B8%80%E7%B1%BB%E6%98%AFGet%E8%AF%B7%E6%B1%82%E9%80%9A%E8%BF%87%E6%8B%BC%E6%8E%A5url%E8%BF%9B%E8%A1%8C%E4%BC%A0%E9%80%92%EF%BC%8C%E7%AC%AC%E4%BA%8C%E7%B1%BB%E6%98%AFPost%E8%AF%B7%E6%B1%82%E9%80%9A%E8%BF%87%E8%AF%B7%E6%B1%82%E4%BD%93%E8%BF%9B%E8%A1%8C%E4%BC%A0%E9%80%92%EF%BC%8C%E7%AC%AC%E4%B8%89%E7%B1%BB%E6%98%AF%E9%80%9A%E8%BF%87%E8%AF%B7%E6%B1%82%E5%A4%B4%E9%83%A8%E8%BF%9B%E8%A1%8C%E5%8F%82%E6%95%B0%E4%BC%A0%E9%80%92%E3%80%82+1+%40PathVariable%E6%8E%A5%E6%94%B6%E5%8F%82%E2%80%9D

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

1 @PathVariable接收参数

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

请求示例:

代码示例:

@GetMapping("{id}") public String getPathVariable(@PathVariable String id){ return "id="+id; }

2 @RequestParam接收参数

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

Spring Boot中Controller接收参数的常用方法有哪些详细解析?

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

请求示例:

代码示例:

@GetMapping("getParam") public String getRequestParam(@RequestParam("myId") String id){ return "id="+id; }

3 无注解传参

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

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

请求示例:

代码示例:

@GetMapping("getString") public String getString(String id){ return "id="+id; }

4 HttpServletRequest接收参数

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

请求示例:

代码示例:

@GetMapping("getRequest") public String getRequest(HttpServletRequest request){ String id = request.getParameter("id"); return "id="+id; }

5 @RequestBody接收请求体参数

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

请求方式:{“id”:18}

请求示例:

代码示例:

@PostMapping("getBody") public String getBody(@RequestBody String id){ return "id="+id; }

6 @RequestHeader接收请求头参数

请求示例:

代码示例:

@PostMapping("getHeader") public String getHeader(@RequestHeader String id){ return "id="+id; }

此是spring-boot-route系列的第一篇文章,这个系列的文章都比较简单,主要目的就是为了帮助初次接触Spring Boot 的同学有一个系统的认识。

github:github.com/binzh303/spring-boot-route

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易盾网络。