Spring-boot-routeController接收参数的几种方式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring-boot-routeController接收参数的几种方式相关的知识,希望对你有一定的参考价值。

Controller接收参数的常用方式总体可以分为三类:

第一类是Get请求通过拼接url进行传递

第二类是Post请求通过请求体进行传递

第三类是通过请求头部进行参数传递


1 @PathVariable接收参数

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

请求示例:

【Spring-boot-route(一)Controller接收参数的几种方式】_代码示例


代码示例:

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


2 @RequestParam接收参数

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

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

请求示例:

【Spring-boot-route(一)Controller接收参数的几种方式】_请求头_02


代码示例:

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


3 无注解传参

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

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

请求示例:

【Spring-boot-route(一)Controller接收参数的几种方式】_请求参数_03

代码示例:

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

4 HttpServletRequest接收参数

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

请求示例:

【Spring-boot-route(一)Controller接收参数的几种方式】_代码示例_04

代码示例:


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


5 @RequestBody接收请求体参数

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

请求方式:"id":18

请求示例:

【Spring-boot-route(一)Controller接收参数的几种方式】_请求头_05

代码示例:


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


6 @RequestHeader接收请求头参数

请求示例:

【Spring-boot-route(一)Controller接收参数的几种方式】_请求头_06


代码示例:

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

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

以上是关于Spring-boot-routeController接收参数的几种方式的主要内容,如果未能解决你的问题,请参考以下文章