/** * Specify a {@link com.fasterxml.jackson.databind.PropertyNamingStrategy} to * configure the {@link ObjectMapper} with. * @since 4.0.2 */ public void setPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy) { this.builder.propertyNamingStrategy(propertyNamingStrategy); }
/** * Specify a {@link com.fasterxml.jackson.databind.PropertyNamingStrategy} to * configure the {@link ObjectMapper} with. * @since 4.0.2 */ public void setPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy) { this.builder.propertyNamingStrategy(propertyNamingStrategy); }
@Test public void propertyNamingStrategy() { PropertyNamingStrategy strategy = new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy(); ObjectMapper objectMapper = Jackson2ObjectMapperBuilder.json().propertyNamingStrategy(strategy).build(); assertSame(strategy, objectMapper.getSerializationConfig().getPropertyNamingStrategy()); assertSame(strategy, objectMapper.getDeserializationConfig().getPropertyNamingStrategy()); }
/** * Specify a {@link com.fasterxml.jackson.databind.PropertyNamingStrategy} to * configure the {@link ObjectMapper} with. * @since 4.0.2 */ public void setPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy) { this.builder.propertyNamingStrategy(propertyNamingStrategy); }
/** * Specify a {@link com.fasterxml.jackson.databind.PropertyNamingStrategy} to * configure the {@link ObjectMapper} with. * @since 4.0.2 */ public void setPropertyNamingStrategy(PropertyNamingStrategy propertyNamingStrategy) { this.builder.propertyNamingStrategy(propertyNamingStrategy); }
@Bean public Jackson2ObjectMapperBuilder jacksonBuilder() { Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); builder.indentOutput(true).dateFormat(new SimpleDateFormat("yyyy-MM-dd")); builder.propertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); builder.serializationInclusion(Include.NON_NULL); return builder; }
@Configuration @EnableWebMvc public class WebConfiguration extends WebMvcConfigurerAdapter { ... other configurations @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder(); builder.serializationInclusion(JsonInclude.Include.NON_NULL); builder.propertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES); builder.serializationInclusion(Include.NON_EMPTY); builder.indentOutput(true).dateFormat(new SimpleDateFormat("yyyy-MM-dd")); converters.add(new MappingJackson2HttpMessageConverter(builder.build())); converters.add(new MappingJackson2XmlHttpMessageConverter(builder.createXmlMapper(true).build())); } }