Springmvc @ResponseBody与@RequestBody忽略空值字段
来源:互联网 发布:怎么弄个java服务器 编辑:程序博客网 时间:2024/05/29 18:15
技术背景
接受参数部分:前后端有时候需要以json格式的数据进行传输,springmvc默认为后台封装了对json字符串解析为java对象的解析器.前端传值如果为json字符串,对应的请求处理器只需要定义与json格式匹配的对象,并且在前加上@RequestBody注解,spring就会自己完成转化过程。
返回参数部分,使用@ResponseBody可以将返回对象转化为json格式数据.
接受参数部分:前后端有时候需要以json格式的数据进行传输,springmvc默认为后台封装了对json字符串解析为java对象的解析器.前端传值如果为json字符串,对应的请求处理器只需要定义与json格式匹配的对象,并且在前加上@RequestBody注解,spring就会自己完成转化过程。
返回参数部分,使用@ResponseBody可以将返回对象转化为json格式数据.
以上两种情况在默认情况下都会出现两个问题,接收部分如果后台定义的对象前台没有传值则会抛出异常,而返回部分如果有字段值为空,该字段还是会被序列化成json字符串,这样对于流量是有消耗的.
<mvc:annotation-driven> <mvc:message-converters> <ref bean="jsonMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven> <bean class="org.springframework.beans.factory.config.MethodInvokingFactoryBean"> <property name="targetObject"> <ref bean="jacksonObjectMapper" /> </property> <property name="targetMethod" value="configure" /> <property name="arguments"> <list> <value type="com.fasterxml.jackson.databind.DeserializationFeature">FAIL_ON_UNKNOWN_PROPERTIES</value> <value>false</value> </list> </property> </bean> <bean id="jacksonObjectMapper" class="com.fasterxml.jackson.databind.ObjectMapper"> <!-- 处理responseBody 里面日期类型 --> <property name="dateFormat"> <bean class="java.text.SimpleDateFormat"> <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" /> </bean> </property> <!-- 为null字段时不显示 --> <property name="serializationInclusion"> <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value> </property> </bean>
注释:在使用<mvc:annotation-driven>自定义的一些处理器配置会失效,请务必配置在<mvc:message-converters>中,而
MethodInvokingFactoryBean可以调用objectMapper的configure方法,使其忽略后台未知的字段。
阅读全文
0 0
- Springmvc @ResponseBody与@RequestBody忽略空值字段
- SpringMVC - @Responsebody与@RequestBody
- springmvc中的@Responsebody与@RequestBody
- SpringMVC中的@RequestBody与@ResponseBody
- SpringMVC之@RequestBody, @ResponseBody
- SpringMVC requestBody responseBody 详解
- springMVC--requestBody和responseBody
- SpringMVC之@RequestMapping,@Responsebody与@RequestBody,以及@PathVariable简单介绍
- SpringMVC的@RequestMapping,@Responsebody与@RequestBody,以及@PathVariable简单介绍
- 【转载】@Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @Responsebody与@RequestBody
- @RequestMapping, @Responsebody与@RequestBody
- python sklearn包——cross validation笔记
- jdbc环境配置以及进行简单的增 删 改
- HDU 4893 Wow! Such Sequence!
- CodeForces
- 先验,后验和似然
- Springmvc @ResponseBody与@RequestBody忽略空值字段
- 宝塔 Linux/Windows 面板
- 为什么淹死的都是会水的?
- 关于Java多线程---------(3,同步与死锁)
- Machine Learning Course 1 and 2
- 软件架构理论体系v4.0的畅想
- 后台服务的系统错误和逻辑错误不同
- 电力拖动自动控制系统(一)直流调速系统篇--不可逆系统(1)
- jq写点击那个那个显示其他隐藏用到toggleClass