范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

注解RequestParam与RequestBody的使用场景

  特别说明:该专栏文章均来源自微信公众号《大数据实战演练》,欢迎关注!一、前言
  一直有这么一个疑问:在使用postman工具测试api接口的时候,如何使用 json 字符串传值呢,而不是使用 x-www-form-urlencoded 类型,毕竟通过 key-value 传值是有局限性的。假如我要测试批量插入数据的接口呢,使用 x-www-form-urlencoded 方法根本就不适用于这种场景。
  那么如何通过postman工具使用json字符串传值呢,这里就引申出来了spring的两个注解:@RequestParam@RequestBody
  总而言之,这两个注解都可以在后台接收参数,但是使用场景不一样。继续往下看 ↓二、@RequestParam
  先介绍一下@RequestParam的使用场景:
  注解@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,比如常见的url:http://localhost:8081/spring-boot-study/novel/findByAuthorAndType?author=唐家三少&type=已完结,其在Controller 层的写法如下图所示:
  @RequestParam有三个配置参数:required 表示是否必须,默认为 true,必须。defaultValue 可设置请求参数的默认值。value 为接收url的参数名(相当于key值)。
  @RequestParam用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容,Content-Type 默认为该属性。
  @RequestParam也可用于其它类型的请求,例如:POST、DELETE等请求。比如向表中插入单条数据,Controller 层的写法如下图所示:
  由于@RequestParam是用来处理 Content-Type 为 application/x-www-form-urlencoded 编码的内容的,所以在postman中,要选择body的类型为 x-www-form-urlencoded,这样在headers中就自动变为了 Content-Type : application/x-www-form-urlencoded 编码格式。如下图所示:
  但是这样不支持批量插入数据啊,如果改用 json 字符串来传值的话,类型设置为 application/json,点击发送的话,会报错,后台接收不到值,为 null。
  这时候,注解@RequestBody就派上用场了。继续往下看 ↓三、@RequestBody
  先介绍一下@RequestBody的使用场景:
  注解@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。
  就application/json类型的数据而言,使用注解@RequestBody可以将body里面所有的json数据传到后端,后端再进行解析。
  3.1 向表中批量插入数据
  举个批量插入数据的例子,Controller层的写法如下图所示:
  由于@RequestBody可用来处理 Content-Type 为 application/json 编码的内容,所以在postman中,选择body的类型为row -> JSON(application/json),这样在 Headers 中也会自动变为 Content-Type : application/json 编码格式。body内的数据如下图所示:
  批量向表中插入两条数据,这里的 saveBatchNovel()方法已经封装了 JPA的 saveAll() 方法。body 里面的 json 语句的 key 值要与后端实体类的属性一一对应。
  注意:前端使用$.ajax的话,一定要指定 contentType: "application/json;charset=utf-8;",默认为 application/x-www-form-urlencoded。
  3.2 后端解析json数据
  上述示例是传递到实体类中的具体写法,那么如果传递到非实体类中,body里面的json数据需要怎么解析呢?我们再来看下面这个例子:
  在body中,我们还是输入上面的json数据,根据分析,上面的json数据是一个List数组内嵌套着map对象,那么在后台的接收形式可写为 List<Map<String, String>>,具体代码如下图所示:
  postman请求:
  控制台输出:
  得出结论,通过@RequestBody可以解析Body中json格式的数据。四、总结
  注解@RequestParam接收的参数是来自requestHeader中,即请求头。通常用于GET请求,像POST、DELETE等其它类型的请求也可以使用。
  注解@RequestBody接收的参数是来自requestBody中,即请求体。一般用于处理非 Content-Type: application/x-www-form-urlencoded编码格式的数据,比如:application/json、application/xml等类型的数据。通常用于接收POST、DELETE等类型的请求数据,GET类型也可以适用。
  总算把这两个的逻辑理清楚了,postman也会用json传值了!赶紧整理成笔记,与大家分享
  --END--
  码字不易,如果您觉得文章写得不错,请关注作者~ 您的关注是我写作的最大动力

不懂手机就选性价比高的,这三款手机一点都不输旗舰,值得推荐旗舰手机固然好,不过价格也是真的贵。高昂的价格就自动劝退了很多的普通工薪朋友了。其实现在的手机性能过剩情况严重,买手机需要理性,性能够用就好。今天我就给大家推荐三款性价比很高的手机买手机前的3个忠告处理器可以不用看了,记住这3点体验不会差现在很多人买手机都是看处理器和性能,随着互联网的崛起,也有很多人教大家怎么在网上买手机。但是手机厂商么也不傻,既然性能骗不如你们,那我就在其他地方骗你们。以前买手机为什么都去看性能苹果市值接近3万亿美元美国科技公司苹果的股价于当地时间13日下跌2,市值一度接近3万亿美元。当日,苹果公司股价收于每股175。74美元,一度触及每股182。09美元。如果苹果股价升破每股182。86美元解读乡村振兴电商乡村振兴电商大数据平台旨在打造一个以智慧政务乡村振兴智慧农村电子商务产业创业就业数字循环经济智慧电商大数据区域自媒体会员运营为核心价值的本地私域流量手机APP端运营平台。项目落地方美国搅黄中资半导体收购案,难道我就没有办法了么?据报道,在美国纽约证券交易所上市的半导体公司美格纳13日发布公告称,由于未获得美国外国投资委员会批准,该公司与中国私募股权智路资本的合并收购案正式终止。根据双方此前协议,智路资本向元宇宙是什么?能干什么?面对元宇宙,你准备好了吗?最近关于元宇宙的讨论非常火热。我也看了很多。扎格伯格的公司改名字为mate。就是元宇宙的意思。那么元宇宙是什么呢?元宇宙不是一般的网络游戏,他是人和游戏和创作和区块链货币的紧密结合中国5G手机市场大洗牌,苹果竟不敌华为,三星频频遇冷排名垫底众所周知,国内当前的5G手机市场日趋成熟,不同种类价格功能的手机接连发布,为国内消费者提供了更多的选择。但大家也知道,国产手机巨头华为因芯片受限,手机业务下滑严重,因此自去年以来,手机老是提醒系统更新,那系统到底需不需要更新?现在基本上大家每人都有一部手机,那大家有没有一打开手机就提醒有新系统需要更新的情况,是不是还在犹豫到底要不要更新。那听我给大家分析一下。首先系统更新后到底有什么好处呢?一功能更多为新华国际时评美式数字霸权是全球互联互通最大障碍新华社北京12月15日电题美式数字霸权是全球互联互通最大障碍新华社记者一段时间以来,美国政府智库媒体等基于意识形态偏见,一再对其他国家在互联网管理数据安全等方面的合理做法提出无端指马化腾掌声越热烈,处境就越危险从默默无名到参天大树,回顾腾讯的成长历程,马化腾说,我觉得互联网企业和传统企业非常不同的地方就是,互联网企业能在一秒内发生一个颠覆性的变化。千亿级(人民币)公司没落是很常见的事情,马云跌落神坛,淘宝风光不再,阿里巴巴衰落已逐渐成为趋势相信很多人最近都看到这样一条消息,有一家粉丝两千多万的淘宝店关门了,退出了淘宝平台。这家2000多万粉丝的淘宝店,说关就关了。这意味着什么?这看出了什么问题?自马云从人人崇拜的马爸
2021。10。18区块链早讯1。灰度即将申请将其比特币基金转换为比特币现货ETF。2。ComposableFinance退款单将在众贷结束后1周内可用。3。ShidenNetworkDApp质押功能上线5天已苹果公司也逃不了!苹果终于成为供应链危机的受害者彭博社10月13日撰文称,全球市值最高的苹果公司(AppleInc。)终于加入了从丰田(Toyota)到三星(Samsung)等越来越多家喻户晓的公司的行列,这些公司由于全球半导体公司预测67电商发展三部曲1,一部曲第一步电商出现并壮大。第二步,电商击垮大部分传统零售商,包括商贸城商场超市便利店等。第三步,击垮绝大多数中间商。目前中国电商发展到第二步的中间阶段,还差便利店等没收拾。美讯飞AI无线投影仪AP10W来了,你的投影方式又多了一种2021年10月15日零点,讯飞全新的讯飞AI无线投影仪AP10W正式在京东平台开启预售,这款兼顾办公室家庭的无线投影仪,能够更轻松携带,满足家庭和商务办公的双重体验。讯飞全新的讯开店零门槛,一秒成店主!缩纯直购新电商平台走入电商3。0时代处处是商机,人人能开店,让十四亿人都能开得了网店,为实现人民的共同富裕作出我们企业界的贡献,这就是我们的缩纯直购平台的理念。10月16日,在缩纯直购新电商平台新闻发布会上,中国大健金融科技赋能银行数字化转型年内1720家网点关停随着银行业数字化转型提速,银行网点收缩的态势仍在持续。证券日报记者根据银保监会金融许可证信息平台的数据统计发现,截至10月10日,今年以来商业银行机构退出列表中合计共有1720家银字节跳动,悄悄拿下7家房产经纪公司最近,字节在房地产跳动得有些厉害。先是节前悄悄收购了北京麦田旗下的一家房产经纪公司,紧接着在10月8日又成立了福建好房有幸,经营范围包含房地产经纪。当所有人都觉得它要在房地产经纪这奥扬科技IPO三高管履历时空错乱实控人两次对赌且风险缠身电鳗快报文尹秋彤近日,山东奥扬新能源科技股份有限公司(以下简称奥扬科技)首发获通过。民生证券为其保荐机构,拟募资4。5909亿元。电鳗快报经调查研究发现,公司此次IPO招股书还存在爆炸桃翻红,互联网带给小生产新机遇丨长江评论长江日报评论员秦孟婷最近爆炸桃在网上走红。爆炸的名字源于这种桃子满身裂开的疤痕,是熟透后使然,裂开部分也不会烂掉,而是会重新长出一层果皮。丑是丑点,但并不妨碍它很甜,甚至有人称它越为加快电动化转型,大众CEO邀请马斯克为200名高管上课特斯拉CEO埃隆马斯克(ElonMusk)又给我们带来了一个爆炸性新闻他出人意料地出现在其最大竞争对手之一大众汽车集团的高管会议上,就大众转型电动汽车的方向管理风格以及供应链和生产Java对象的销毁你真的知道吗?在日常的开发中我们都知道,Java的内存清理是通过垃圾回收器进行的,那么其是如何将没用的对象被被清理掉的呢?Java语言的内存自动回收称为垃圾回收(GarbageCollectio