目录
简单参数&实体参数
get请求
post请求
简单参数&实体参数【总结】
springboot中接受简单参数
@RequestParam注解
实体参数接收
数组集合参数
数组接收
集合接收
数组集合参数 【总结】
日期参数请求
JSON参数请求
路径参数请求
所有请求参数类型总结
简单参数
实体参数
数组集合参数
日期参数
JSON参数
路径参数
简单参数&实体参数
get请求
请求url:
http://localhost:8080/simpleParam?name=Tom&age=10
代码:
1、如果方法形参名称与请求参数名称匹配,可以直接完成映射,使用以下代码即可(推荐:利于统一)
@RequestMapping("/simpleParam")
public String simpleParam(String name,Integer age) {
System.out.println(name+":"+age)
return "OK";
}
2、如果方法形参名称与请求参数名称不匹配,可以使用@RequestParam完成映射(不推荐,不利于统一)
RequestParam注解:
name:属性用于别名处理,将请求的携带name的信息映射到username;
required:定义这个参数是否必须通过请求携带,若是为true,请求时不携带,则报错。
@RequestMapping("/simpleParam")
public String simpleParam(@RequestParam(name="name") String username,Integer age) {
System.out.println(name+":"+age)
return "OK";
}
请求输出结果
Tom:10
post请求
请求url:
http://localhost:8080/simpleParam
//表单中携带参数
简单参数&实体参数【总结】
springboot中接受简单参数
请求参数名与方法形参变量名相同
会自动进行类型转换
@RequestParam注解
方法形参名与请求参数名称不匹配,通过该注解完成映射
该注解的required属性默认是true,代表请求参数必须传递
实体参数接收
适用场景:一般用于传的参数较多,请求参数名也必须和实体中的变量名一致,可以定义一个实体类进行接收,其中实体类,可以继续嵌套实体
实体类
@Data
public class User {
public String name;
public Integer age;
}
接口
@RequestMapping("/simpleParam")
public String simpleParam(User user) {
System.out.println(user)
return "OK";
}
数组集合参数
适用场景:复选框提交数据
get请求的url
http://localhost:8080/arrayParam?hobby=game&hobby=java&hobby=sing
数组接收
接口:
@RequestMapping("/arrayParam")
public String simpleParam(String [] hobby) {
System.out.println(Arrays.toString(hobby))
return "OK";
}
集合接收
接口:
@RequestMapping("/list")
public String simpleParam(@RequestParam List<String> hobby) {
System.out.println(Arrays.toString(hobby))
return "OK";
}
//@RequestParam:加这个注解才可以将多个请求参数封装到List集合中
数组集合参数 【总结】
数据:请求形参名与形参中数组变量名相同,可以直接使用参数封装
集合:请求参数名与形参中集合变量名相同,可以通过@RequestParam绑定参数关系
日期参数请求
get请求的url
http://localhost:8080/dateParam?2024-04-28 12:10:30
接口:
@RequestMapping("/dateParam")
public String dateParam(@DateTimeFormat(pattern="yyy-MM-dd HH:mm:ss") LocalDateTime updateTime) {
System.out.println(updateTime)
return "OK";
}
//@DateTimeFormat注解:指定时间参数传递的格式
JSON参数请求
场景:我们发送一个请求,并且以json数据的格式请求,请求方式需要设置为POST请求,因为JSON数据是要放在请求体中,携带给服务器端的,接收json数据,一般通过实体对象进行接收。
JSON参数:JSON数据键名与形参对象属性名相同,定义实体类型形参即可接收参数,需要使用@RequestBody标识(作用:将JSON请求格式的数据封装到实体对象中)
请求的json数据:
{
"name":"TOM",
"age":10,
"address":"江苏"
}
接口:
@RequestMapping("/jsonParam")
public String dateParam(@RequestBody User user) {
System.out.println(user)
return "OK";
}
@RequestBody标识(作用:将JSON请求格式的数据封装到实体对象中)
路径参数请求
路径参数:通过请求URL直接传递参数,使用{xxx}来标识该路径参数,需要使用@PathVariable获取参数;
@PathVariable注解:将获取的路径参数,绑定给方法的形参
get请求url
http://localhost:8080/path/1
接口:
@RequestMapping("/path/{id}")
public String dateParam(@PathVariable Integer id) {
System.out.println(id)
return "OK";
}
//路径参数也可以接收多个,声明多个形参即可
所有请求参数类型总结
简单参数
定义方法形参,请求参数名与形参变量名一致
若是不一致:通过@RequestParam注解手动映射
实体参数
请求参数名,与实体对象的属性名一致,会自定接收封装
数组集合参数
数组:请求参数名与数组名一致,直接封装
集合:请求参数名与集合名一致,@RequestParam绑定关系
日期参数
@DateTimeFormat注解:给定请求日期的格式
JSON参数
@RequestBody注解:将请求的json格式的数据直接映射到实体对象上
路径参数
@PathVariable注解:请求的参数是在路径上携带的,可以通过该注解获取