whyyouhitme_ 2019-02-26 11:54 采纳率: 57.1%
浏览 1112
已结题

有时接收对象参数没有标签,有时则用到RequestBody标签,请问规则是?

两个项目,a,b
项目a新增、更新商品以表单形式提交,后端controller接收的时候,参数是商品对象,前面没有标签

项目b新增、更新商品利用angularjs的双向绑定,定义一个entity,以"url,entity"(url后加对象并以逗号分割)的形式提交,其后端接收时则用到了RequestBody标签

另外后端接收前端的数组,在参数名和前端保持一致的情况下,仍然需要@RequestParam,否则报错。@RequestParam不是在变量名不一致的时候使用的吗?

  • 写回答

3条回答 默认 最新

  • JFree_Wolf 2019-02-26 14:29
    关注
      先说@requestParam是在前端请求使用的post默认表单提交方式或者get方式参数跟在url后面,即Content-Type是application/x-www-form-urlencoded的用@requestParam,前端如果post请求,把请求参数封装成json格式的且Content-Type为application/json则后台只能用@requestbody自动接受参数。如果在上述第一种情况下你不写@requestParam则springmvc会去到请求url上或者body里面找和参数名一样的值,没有则为java默认值。如果直接写一个对象没有注解,则找和对象中属性名一样的值,有就赋值,然后把这个对象传入方法里。第二种情况实质是springmvc在知道请求是post,且是application/json则自己到request的body中拿出json数据格式化为你写的类型。还有list,map,array不推荐直接接受最好包装在一个对象中用json格式提交接受比较好。
    
    评论

报告相同问题?

悬赏问题

  • ¥15 求差集那个函数有问题,有无佬可以解决
  • ¥15 【提问】基于Invest的水源涵养
  • ¥20 微信网友居然可以通过vx号找到我绑的手机号
  • ¥15 寻一个支付宝扫码远程授权登录的软件助手app
  • ¥15 解riccati方程组
  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题