SpringMvc中易混淆的@RequestBody和@RequestParam的应用场景的区分

SpringMvc中易混淆的@RequestBody和@RequestParam的应用场景的区分

https://blog.csdn.net/menglinjie/article/details/81126403
首先明确几个概念:
1. request header Content-Type是前端妹妹规定的请求头的响应类型,常用的类型有
application/x-www-form-urlencoded : 表单默认的提交数据的格式。
multipart/form-data : 当你需要在表单中进行文件上传时,就需要使用该格式;
application/xhtml+xml :XHTML格式
application/xml : XML数据格式
application/atom+xml :Atom XML聚合格式
application/json : JSON数据格式
application/pdf :pdf格式
application/msword : Word文档格式
application/octet-stream : 二进制流数据(如常见的文件下载)
2. RequestMethod 是提交方式 常用的有 get post put 等

@RequestParam
A
该注解有两个属性: value、required; value用来指定要传入值的id名称,required用来指示参数是否必须绑定。

在方法参数里面如是:public @ResponseBody JsonResult getPublishedToposByConnStreamId(@RequestParam(value = “streamId”, required = false) String streamId) {}
B
前台妹妹请求响应格式为 application/x-www-form-urlencoded : 表单默认的提交数据的格式 的时候。无论用get还是post都可以用@RequestParam接收,这属于简单的类型绑定。@ModelAttribute也可以处理,@RequestBody也能处理。当时提交方式为put时,只能用@RequestBody
multipart/form-data, 次类型多用来上传文件类型—只能使用使用@RequestParam。无论是get post put,@RequestBody不能处理这种格式的数据。
参考文件:http://www.iteye.com/topic/1127120

@RequestBody
A
前台妹妹用其他格式, 比如(其他格式包括application/json, application/xml等。这些格式的数据,无论get或者pos,putt必须使用@RequestBody来处理);

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值