requestBody和requestParam问题
@PostMapping("admin/category/update")
public ApiRestResponse updateCategory(@Valid @RequestBody UpdateCategoryReq updateCategoryReq, HttpSession session)
@PostMapping("/select")
@ApiOperation("选择/不选择购物车的某商品")
public ApiRestResponse select(@RequestParam Integer productId, @RequestParam Integer selected) {
如上代码,有以下问题
1. 为什么同样都是 Post请求,, 有的函数用 @RequestParam接收 有的用 @RequestBody,,
@RequestParam是不是指 url上面的参数???? @RequestBody是不是指 请求体,即URL上看不见,要在F12开发模式下看请求体的 参数??
2. Post方式不是默认使用 请求体提交参数的吗?? 为什么用 @RequestParam也能接收??
3. 为什么使用postman就能实现 使用post请求也能在 url 上提交参数??
4. 我用网页的 <form>标签,method=post,的情况下,,浏览器是不是 以请求体的方式 发送参数?? 我在后台是不是 使用 @RequestParam 或者 @RequestBody 都能接收到参数?
5.其实上面 4个问题 都基本一样,反正一个点回答清楚,一通百通。
正在回答
同学你好,
1、1)是的
2)不是的,GET请求是不可以用@RequestBody来接收参数的
2. requestBody是把请求的内容里的内容都读出来。正常接收的参数是一个对象
如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
同学你好,
1、@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)
而@RequestParam 是从请求头中获取参数
2)理解是可以的
3 )是的
2、1)是的,默认使用请求体
2)使用@RequestParm用于绑定controller上的参数,可以是多个参数,也可以是一个Map集合,GET,POST均可。
3、post请求也是可以在路径后面提交参数的
4、1)是的
2)使用@RequestParm用于绑定controller上的参数,可以是多个参数,也可以是一个Map集合,GET,POST均可。
使用@RequestBody,json串会合并在一起,就不能用单个基本数据类型接收,要用一个对象来接收
如果我的回答解决了你的疑惑,请采纳。祝:学习愉快~
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星