- 比如,你可能设置了如下的配置,获取其他的方式
@Configuration
public class WebMvcConfig {
@Bean
public Converter<String, LocalDate> localDateConverter() {
return new Converter<String, LocalDate>() {
@Override
public LocalDate convert(String source) {
return DateUtil.parseDate(source);
}
};
}
@Bean
public Converter<String, LocalDateTime> localDateTimeConverter() {
return new Converter<String, LocalDateTime>() {
@Override
public LocalDateTime convert(String source) {
return DateUtil.parseDateTime(source);
}
};
}
}
3.反正就是不想使用@JsonFormat这个注解在字段上
4.究其原因,其实在maven中有了fastJson的引入之后,fastJson会优先于jackson加载(为啥亲儿子还没干儿子有优先权呢),既然找到原因所在了,那么我们只需要在配置中将fastjson移除掉,然后再重新配置下jackson的配置就可以(移除fastjson的消息转换器不影响你在其他地方使用fastjson,因为默认的还是Jackson)
@Configuration
public class WebMvcConfig extends WebMvcConfigurationSupport {
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
// 如果存在fastJson的转换器,将其移除
converters.removeIf(httpMessageConverter -> httpMessageConverter instanceof FastJsonHttpMessageConverter);
// 需要重新加入jackson的转换器,该处的objectMapper已经在配置中注册了
converters.add(0, new MappingJackson2HttpMessageConverter(objectMapper));
}
}
5.如果你的maven中没有fastjson的引入的话,上面的配置中移除fastjson加入jackson的操作是不必须要的,你只需在配置中将Jackson的ObjectMapper设置好属性然后注册即可,不需要new MappingJackson2HttpMessageConverter(objectMapper)这一步的操作的。