`
cooperay
  • 浏览: 212949 次
  • 性别: Icon_minigender_1
  • 来自: 郑州
社区版块
存档分类
最新评论

SpringMvc 使用 @RequestBady自动封装是的日期处理

 
阅读更多

当在spring mvc 使用@requestBady和@responseBady时,将调用jackson来自动封装对象和json。

 

常见的异常有

问题1. 日期格式不匹配异常  使用@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")

           指定传入的日期字符串格式

问题2. 时间差8小时 问题      如上 需要指定timezone属性

 

这两个问题也可以通过全局配置进行解决

 

 

<mvc:annotation-driven>
        <mvc:message-converters>
            <bean
                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper">
                    <bean 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>
                        <!-- 时区指定 -->
                        <property name="timeZone" value="GMT+8" />
                        <!-- 为null字段时不显示 -->
                        <property name="serializationInclusion">
                            <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>
                        </property>
                    </bean>
                </property>
            </bean>
        </mvc:message-converters>
    </mvc:annotation-driven> 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics