@requestBody的加与不加的区别

11 篇文章 1 订阅
订阅专栏

今天在做项目实战回顾的时候发现@RequestParam注解不太了解。在网上搜索下了下,发现了篇好文章。防止将来丢失,在此做下记录。谢谢

看现象如下:发现ajaxDate有若干种写法。

(1)直接写名传参 post。如下:

在这里插入图片描述

打印ajaxDate如下格式:
在这里插入图片描述

虽然打印结果是json对象式,但最后会转为key1=value1&key2=value2的格式提交到后台 ,不需要加@requestBody。

(2)post和get功能相同 如下:

不需要加@requestBody
在这里插入图片描述

(3)serializeble实例化表单

在这里插入图片描述

打印结果如下:
在这里插入图片描述

表单 格式使用的是默认的ContentType类型application/x-www-form-urlencoded,格式为key1=value1&key2=value2提交到后台 ,不需要加@requestBody。

(4)contentType转化之后,需要加@requestBody,controller才能接收到数据。

在这里插入图片描述

ajaxDate打印结果如下:

在这里插入图片描述

前台将ajaxData转为json字符串,后台必须加@RequestBody注解的属性才能自定映射到值。

总结 @requestBody加与不加的区别如下

使用@requestBody.当请求content_type为:application/json类型的请求,数据类型为json时, json格式如下:{“aaa”:“111”,“bbb”:“222”}
不使用@requestBody.当请求content_type为:application/x-www-form-urlencoded类型的或multipart/form-data时,数据格式为aaa=111&bbb=222。

JQuery的$.ajax(url,[settings])
1.默认的ContentType的值为:application/x-www-form-urlencoded; charset=UTF-8
此格式为表单提交格式,数据为key1=value1&key2=value2的格式 。图二serrializeble,只用的是默认contentType类型。
2.虽然ajax的data属性值格式为:{key1:value1,key2:value2},但最后会转为key1=value1&key2=value2的格式提交到后台 。图二,虽然打印出的结果是不是&格式的,但是会转化。
3.如果ajax要和springmvc交互,要使用key1=value1&key2=value2的格式,后台springmvc只需要定义对象或者参数就行了,会自动映射。
4.如果springmvc的参数有@RequestBody注解(接收json字符串格式数据),ajax必须将date属性值转为json字符串,不能为json对象(js对象,会自动转为key=value形式)。并且,修改contentType的值为:application/json; charset=UTF-8,这样加了@RequestBody注解的属性才能自定映射到值。
5.使用在进行图片或者文件上传时使用 multipart/form-data 类型时、 数据会自动进行映射不要添加任何注解。

转载: https://blog.csdn.net/jiashanshan521/article/details/88244735

@ResponseBody 和 @RequestBody 以及 @RequestParam区别 @Validated使用 @validated和@valid 区别
AmbroseLe
03-24 3489
目录 @Responsebody @RequestBody @RequestParam @Controller 而不是@RestController中 因为@Controller中可能需要直接跳转页面,也需要直接返回数据。 @Responsebody @Responsebody 注解表示该方法的返回的结果直接写入 HTTP 响应正文(ResponseBody)中,一般在异步获取数据时...
@requestBody不加区别
weixin_50737119的博客
03-09 740
不使用@requestBody.当请求content_type为:application/x-www-form-urlencoded类型的或multipart/form-data时,数据格式为aaa=111&bbb=222。使用@requestBody.当请求content_type为:application/json类型的请求,数据类型为json时, json格式如下:{"aaa":"111","bbb":"222"}为什么有的需要@requestBody,有的不需要。
@RequestBody与@ResponseBody:Web开发的双子星
最新发布
xycxycooo的博客
08-16 841
和注解在Spring MVC中扮演着至关重要的角色,它们使得处理HTTP请求和响应变得更简单和高效。通过合理利用这两个注解,你可以构建出结构清晰、易于维护的RESTful API。掌握和的原理和使用方法,将使你在面对复杂Web开发任务时更从容不迫。希望本文能为你提供有价值的参考,激发你对Spring MVC的兴趣和热情。让我们一起探索Web开发的无限可能,构建更高效、更优秀的应用!
@RequestBody不加区别
m0_59164927的博客
06-17 1962
@RequestBody只能处理json格式的数据,而表单post提交默认方式是application/x-www-form-urlencoded,使用@RequestBody无法封装请求参数不加@RequestBody可以支持表单的默认格式,但是不能处理json格式的数据(在restTemplete进行远程服务调用时,是以json格式进行实体类传参的)...
@requestBody 与@requestparam;@requestBody不加区别
热门推荐
jiashanshan521的博客
03-07 1万+
(一)首先说明xia @requestBody与@requestParam的区别 spring的RequestParam注解接收的参数是来自于requestHeader中,即请求头。都是用来获取请求路径(url )中的动态参数。也就是在url中,格式为xxx?username=123&password=456。功能与@pathvarible。 RequestBody注解接收的参数则...
@RequestBody不加区别
qq_38837032的博客
03-25 1477
不使用@RequestBody注解时,可以接收Content-Type为application/x-www-form-urlencoded类型的请求所提交的数据,数据格式:aaa=111bbb=222。form表单提交以及jQuery的bbb=222。form表单提交以及jQuery的bbb=222。form表单提交以及jQuery的.post()方法所发送的请求就是这种类型。 使用@RequestBody注解时,用于接收Content-Type为application/json类型的请求,数据类型是JSO
@RequestBody不加区别
adingyb的博客
12-22 295
http://t.csdn.cn/MC24M
使用@RequestBody与不使用的区别
春不寒.的博客
06-12 663
使用@RequestBody与不使用的区别
@requestbody不加区别
05-11
如果你不使用 `@RequestBody` 注解,Spring MVC 将会按照默认的方式解析请求参数。这通常意味着将请求参数映射到控制器方法的参数中。例如,如果你有一个控制器方法,它接受一个字符串参数,那么 Spring MVC 将会将...
controller层方法接收参数的实体前上@RequestBody不加@RequestBody区别是什么
03-14
不加`@RequestBody`注解,则默认使用请求参数的方式进行参数绑定。 具体区别如下: 1. 使用`@RequestBody`注解:表示将请求体中的数据以JSON或XML等格式进行解析,并将解析后的数据绑定到方法的参数上。适用于...
@RequestParam和@RequestBody的使用和区别&&使用@RequestParam和不使用@RequestParam的区别
summer_style的博客
09-14 2342
RequestParam的使用 @RequestParam主要用于将请求参数区域的数据映射到控制层方法的参数上 首先我们需要知道@RequestParam注解主要有哪些参数 value:请求中传入参数的名称,如果不设置后台接口的value值,则会默认为该变量名。比如上图中第一个参数如果不设置value=“page”,则前端传入的参数名必须为pageNum,否则在后台接口中pageNum将接收不到对应的数据 required:该参数是否为必传项。默认是true,表示请求中一定要传入对应的参数,否则会报
解读@RequestBody的正确使用方法
08-28
主要介绍了解读@RequestBody的正确使用方法,具有一定借鉴价值
java后端不加@requestbody区别
09-15
在Java后端开发中,使用`@RequestBody`注解和不使用`@RequestBody`注解有一些区别。 1. 使用`@RequestBody`注解: - 当使用`@RequestBody`注解时,表示后端接口需要从请求体中获取参数。这意味着前端需要以请求体...
@requestBody 与@requestparam;@requestBody不加区别
Object的博客
07-26 1442
@requestBody 与@requestparam;@requestBody不加区别 转载:https://blog.csdn.net/jiashanshan521/article/details/88244735 转载理由:开发常见,确并不会及时总结,这个总结很详细。 ...
post请求可以不加@RequestBody注解么?使用与不使用@RequestBody注解的区别
weixin_49114503的博客
03-13 6609
post请求可以不加@RequestBody注解么?使用与不使用@RequestBody注解的区别
Spring MVC前端对数据的封装 @RequestBody注解与不加区别
weixin_43146692的博客
04-07 891
Spring MVC前端对数据的封装 @RequestBody注解与不加区别 在传统的SSM 项目下 : 对于简单的对象封装 直接在方法参数上添 对象 springMVC会自动帮我们将字段对应的数据封装成对象。 现在有2种前端传参的方式 : 1.前端传入 JSON字符串(比如前端js在传入参数时调用JSON.stringfy()方法将js对象转为json字符串): 此时在后端用@RequestBody接受参数时springMVC会将json字符串根据相应的属性名称赋值给对象的属性(只能赋值基本类型)。
参数添@RequestParam @RequestBody区别
xiao玖的博客
11-29 728
springboot项目中Controller中的方法中的参数添注解的不同之处
使用与不使用@RequestBody注解的区别及使用@RequestBody的一些问题
鱼香肉丝加蛋
03-14 4427
1.使用@RequestBody注解: 前端ajax传送数据的时候,需要指明contentType参数为:contentType: "application/json" @RequestBody注解接收的参数是Json对象的字符串,所以需要用JSON.stringify()将对象转换为字符串 否则得不到数据 定义接口: //后台接口: @RequestM...
后端接收参数时@RequestBody使用与不使用的区别
qq_31560049的博客
06-28 1220
1.使用@RequestBody接收参数的格式为json字符串格式{“xxx”:xxx} 2.不适用@RequestBody接收参数的格式为表单格式:{xxx:xxx}
写文章

热门文章

  • 电脑上的以太网连接,本地连接,宽带连接,无线WLAN连接的区别(超详细)--转载 35233
  • Vue--Props with type Object/Array must use a factory function to return the default value. 31547
  • win7旗舰版 Internet协议版本4的设置方法 --转载 25332
  • Vue实例中的template讲解 22680
  • @requestBody的加与不加的区别 17771

分类专栏

  • Redis 5篇
  • Apache&tomcat服务器 3篇
  • mq 4篇
  • 计算机与网络 5篇
  • 面试 3篇
  • SpringCloud 3篇
  • Java 47篇
  • Vue 11篇
  • 数据库 8篇
  • Spring 1篇
  • 数据结构与算法 5篇
  • Git 9篇
  • Jvm调优 1篇
  • Linux 4篇
  • nginx 1篇
  • springboot 2篇
  • Mybatis 11篇
  • Solr 4篇
  • SpringMVC 1篇
  • html&css&js 3篇
  • Postman工具使用 1篇
  • Docker 1篇
  • Bootstrap 1篇
  • eclipse 1篇
  • 算法图解 2篇

最新评论

  • let _this = this;作用讲解

    AvatorList: 别的文章一大堆 反而适得其反

  • Vue中select下拉框搭配v-model -- 转载

    XuXinCHN: 你确定绑定的是value?value是预先确定下来类别啊,作为值传到服务器,怎么能通过用户修改?这又不是文本框,文本框才是绑定value,这个应该是绑定selected吧。就像单选框和复选框绑定的也不是value而是checked。

  • @requestBody的加与不加的区别

    qq_41277022: 是JSON字符串

  • @requestBody的加与不加的区别

    tonight9: 大概来说 json对象 一定要用 @requestBody ,其他随意吗 这玩意确实 挺迷的 用接口测试工具总怪怪的

  • Vue实例中的template讲解

    皙风: 写的好,下面的参考文章没了,哎

最新文章

  • Redis缓存详解 -- 转载
  • Apache压力测试工具的安装使用 -- 转载
  • rabbitMq可靠性投递之配置(消息至交换机,至队列不通的回调) -- 转载
2022年37篇
2021年17篇
2020年87篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值

深圳SEO优化公司宁波镇海区热销百度网站优化东光网站优化龙口营销型网站优化公司江门网站安全优化天津标准网站优化设计兰州网站整站优化团队黄山网站优化seo报价南头论坛网站优化锦屏县网站优化网站优化能为企业带来什么澜沧网站搜索优化方法网站优化排名推广服务网站ui的优化优化网站的方案郑州网站优化l徐汇区公司网站优化哪家好余姚网站优化选哪家台州网站推广优化哪里好广东网站竞价优化效果无锡优化网站排名宁波网站推广新站快速优化兰州网站权重优化网常熟网站推广优化如何优化网站只选w火27星怎么样优化网站seo网站的优化渠道云速捷卓著宣城网站搜索优化公司哪家好弥渡网站优化报价威海网站优化公司郑州网站搜索引擎优化哪家好歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运

深圳SEO优化公司 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化