如何在全球范围内配置带弹簧的jackson?
问题描述:
序列化反序列化对象我使用Jackson作为流程
To serialize deserialize object I am useing Jackson as flow
@JsonSerialize(using = LocalDateSerializer.class)
@JsonDeserialize(using = LocalDateDeserializer.class)
private LocalDate openingDate
我该怎么做全局默认,所以我不必将它添加到每个属性?
How do I make this the default globally so I do not have to add it to every property ?
使用XML配置。
答
如果您使用的是基于Java的配置,则可以创建扩展WebMvcConfigurerAdapter的配置类并执行以下操作:
If you are using Java-based configuration, you can create your configuration class extending WebMvcConfigurerAdapter and do the following:
@Override
public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
final MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
final ObjectMapper objectMapper = new ObjectMapper();
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
converter.setObjectMapper(objectMapper);
converters.add(converter);
super.configureMessageConverters(converters);
}
在这里,您可以根据需要配置ObjectMapper并将其设置为转换器。
In here, you can configure the ObjectMapper as you like and set it as a converter.