一:获取参数
SpringBoot提供的获取参数注解包括:@PathVariable,@RequestParam,@RequestBody,三者的区别如下表:
二、java基础(spring注解@PathVariable和@RequsetParam的区别还有@RequestBody)
@PathVariable和@RequestParam都可用于controller层接收前端传来的数据。只是他们两个应用场景不一样。(接收请求行的url后的查询参数)
1、接收东西和场景的不同
*PathVribale主要是接收/参数名/{参数值}这样的。主要场景是RestFul风格。(占位符{})
*RequestParam主要是接收?参数名参数值这样的。主要是为了?拼接这种风格。例如csdn这种
*@RequestBody主要是接收前端发来的json数据。(请求体的数据)
2、例子:看上面后面有/参数值(就是RestFul风格用PathVriable)
@RequestBody和@RequestParam的区别
*@RequestBody和@RequestParam 可以一起使用但是Body只能有一个,而Param可以有多个。
*Param是接收url(也就是请求头)Body是接收请求体的。
*@Body是将json转化为跟的对应的参数对象
若是这个body注解加在方法上那么mvc就可以将方法返回的对象转化为json,再发给前端。
总结一下:
@RequestBody可以接收前端的json转为对象。也可以在方法上将方法返回的对象转化为json。(666两边通吃。)
PathVarable接收/{}(更加高端好吗)
@RequestParam接收?这种url参数。