【发布时间】:2017-11-22 08:01:44
【问题描述】:
我想使用@RestController注解和jackson2,但是响应JSON(包括java.util.Date)总是返回Timestamp;我做了以下事情,但是它不起作用......
<mvc:annotation-driven>
<mvc:message-converters register-defaults="true">
<bean id="customJsonMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
<property name="objectMapper" ref="customObjectMapper"/>
</bean>
</mvc:message-converters>
</mvc:annotation-driven>
public class CustomObjectMapper extends ObjectMapper{
public CustomObjectMapper(){
this.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
this.setDateFormat(df);
}
}
@RestController
@RequestMapping(value = "/reports")
public class ReportController extends...
调试并发现只有默认的 5 个 MessageConverters... the screenshoot
【问题讨论】:
-
MappingJackson2HttpMessageConverter 注册为第四个 MessageConverter。检查它是否按预期引用了您的 CustomObjectMapper。
-
No..我检查了。dateformat配置是默认值。
But the CustomObjectMappers constructor have been called during the initialization,所以我想可能是我使用了不止一个 InitializingBean ,它涵盖了原始配置或其他原因............我只是不知道!跨度>