Loading

时间返回格式统一处理的几种办法

 

方式一:注解

pojo的bean里面通常会有Date类型的数据,直接通过@ResponseBody返回出去的是一个长整型时间戳(从1970到该变量时间的毫秒数),关于原因,网上很多,此处不细讲。如果想要返回自定义的日期格式,如:yyyymmddhhmmss,需做相关处理,网上有很多处理方式,大体都是继承、重写,比较复杂。实际上JSON已有注解@JsonFormat支持,使用实例(在bean字段上或者get方法上加上此注解,注意指定时区):

@JsonFormat(timezone = "GMT+8", pattern = "yyyyMMddHHmmss")
private Date createTime;

此方式由于是注解在类字段上,使用方便,但是不能统一全局处理 

 

 方式二:spring配置文件

 配置如下:

<!-- spring适配器   注:此适配器要放在注解驱动前才行,否则无法解析-->
    <bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
        <property name="messageConverters">
            <list>
                <bean class="org.springframework.http.converter.BufferedImageHttpMessageConverter" />
                <bean class="org.springframework.http.converter.xml.Jaxb2RootElementHttpMessageConverter" />  
                <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter" >
                    <property name="objectMapper">
                        <bean class="com.fasterxml.jackson.databind.ObjectMapper">
                            <property name="dateFormat">
                                <bean class="java.text.SimpleDateFormat">
                                    <!-- 设置全局返回JSON到前端时日期格式化 -->
                                    <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss"/>
                                </bean>
                            </property>
                        </bean>
                    </property> 
                </bean>
            </list>
        </property>
        <property name="customArgumentResolvers">
            <list>
                <ref bean="userArgumentResolver" /><!-- 参数自动注入 -->
            </list>
        </property>
    </bean>

 

 此配置可以全局处理日期格式

 

posted @ 2020-11-26 20:16  梦醒点灯  阅读(1410)  评论(0编辑  收藏  举报