我正在尝试以特定格式反序列化日期。我创建了一个自定义Object Mapper,在那里注册我的反序列化器, 设置日期格式。但杰克逊仍然使用默认的反序列化器。
<mvc:annotation-driven>
<mvc:message-converters register-defaults="false">
<bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper">
<bean id="outJsonMapper" class = "com.workbrain2.mobility.web.util.CustomObjectMapper">
<property name="dateFormat">
<bean class="java.text.SimpleDateFormat">
<constructor-arg value="${rest.api.date.format}"/>
</bean>
</property>
</bean>
</property>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
我的自定义ObjectMapper:
public CustomObjectMapper() {
SimpleModule module = new SimpleModule();
DateFormat dateFormat =new SimpleDateFormat("yyyy-MM-dd'T'HH:mm");
this.setDateFormat(dateFormat);
module.addSerializer(Date.class, new JacksonKeySerializer());
module.addDeserializer(Date.class, new DateDeserializer());
this.registerModule(module);
}