0123ctSecton 65.3表明我可以通過提供我自己的替換默認的ObjectMapper。我沒有使用引導,只是一個構建到.war並在tomcat中運行的Spring WebMVC應用程序。彈簧4(無引導)與自定義傑克遜ObjectMapper
它實例化我的ObjectMapper,但不使用它。我使用調試器追蹤爲什麼時間戳仍然以數字形式出現,並且發現它使用的是ObjectMapper的另一個實例。這不是很清楚,我是從哪裏來的,爲什麼這不會導致其只能使用雷:
@Primary
@Bean
public ObjectMapper localObjectMapper() {
JodaMapper mapper = new JodaMapper();
mapper.setWriteDatesAsTimestamps(false);
mapper.getSerializationConfig().with(SerializationFeature.INDENT_OUTPUT)
.without(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)
.without(SerializationFeature.WRITE_DATE_KEYS_AS_TIMESTAMPS)
.without(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
return mapper;
}
以上是這絕對得到加載的@Configure豆。
我以上採用的方法在Spring 3中工作得很好,而不是當我修改到4.2.2時。我也讀過Jackson Integration Improvements,並嘗試了其中的方法,達到相同的效果。
--Chris
是'JodaMapper'你的類是否擴展了ObjectMapper?你有'WebMvcConfigurerAdapter'在哪裏註冊一個'MappingJackson2HttpMessageConverter'? –
JodaMapper確實是一個擴展ObjectMapper的類,但我沒有寫它 - 它是jackson-datatype-joda的一個內置部分。它是一個簡短的子類,主要是調用super()然後註冊新的JodaModule(),然後爲它所支持的Joda類型註冊串行器/解串器。 我有一個WebMvcConfigurerAdapter,我註冊了一個MappingJackson2HttpMessagConverter。它似乎沒有什麼區別,但它應該有? Spring是否會找到ObjectMapper的機制? – wz2b
你有沒有解決這個問題? –