Spring MVC前端对数据的封装 加@RequestBody注解与不加的区别

在SSM项目中,使用@RequestBody注解能将JSON字符串自动映射到对象,但对复杂对象如内含Page的对象,需要配置消息转换器。而在SpringBoot中,这个过程已经自动处理。前端传参为对象时效率较低且不支持复杂对象。总结了SpringMVC与SpringBoot在处理复杂参数时的区别。
摘要由CSDN通过智能技术生成

Spring MVC前端对数据的封装 加@RequestBody注解与不加的区别

在传统的SSM 项目下 :
对于简单的对象封装 直接在方法参数上添加 对象 springMVC会自动帮我们将字段对应的数据封装成对象。
现在有2种前端传参的方式 :
1.前端传入 JSON字符串(比如前端js在传入参数时调用JSON.stringfy()方法将js对象转为json字符串):
此时在后端用@RequestBody接受参数时springMVC会将json字符串根据相应的属性名称赋值给对象的属性(只能赋值基本类型)。
但是如果是一个复杂的对象的话 比如 一个User对象中还含有一个Page对象此时 对于Page对象就无法赋值,值会为NULL,解决方法就是在springMVC的application.xml文件中配置 httpMessagerConverter(消息转换器),消息转换器会帮助我们,自动封装复杂的对象。
2.前端传参为一个对象:
缺点传输效率没有json字符串高。也无法封装复杂的对象
在SpringBoot项目下就没有这种情况的出现:因为springBoot自动帮助我们配置了消息转换器。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值