Giriş
Jackson ayarlarını özelleştirmek için 3 tane yöntem ver
1. application.properties ile özeleştirmek
2. Jackson2ObjectMapperBuilderCustomizer  ile özeleştirmek
3. Jackson2ObjectMapperBuilder ile özeleştirmek
4. ObjectMapper nesnesi direkt yaratılır ve özelleştirilir
Yöntem 2
Bu sınıfı kullanmak için SpringMVC projesinde şöyle yaparız.
@Configuration
@EnableWebMvc
public class WebConfiguration extends WebMvcConfigurerAdapter {
 ... other configurations
  @Override
  public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
    Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();
    ...
    converters.add(new MappingJackson2HttpMessageConverter(builder.build()));
    converters.add(new MappingJackson2XmlHttpMessageConverter(builder
      .createXmlMapper(true).build()));
  }
}SpringBoot projesinde şöyle yaparız.
@SpringBootApplication
public class Application extends SpringBootServletInitializer {
  @Bean
  public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
    ObjectMapper objectMapper = builder.createXmlMapper(false).build();
    ...
    return objectMapper;
  }
}Şöyle yaparız.
Jackson2ObjectMapperBuilder builder = new Jackson2ObjectMapperBuilder();Şöyle yaparız
@Bean
public ObjectMapper objectMapper(Jackson2ObjectMapperBuilder builder) {
  ObjectMapper objectMapper = builder.createXmlMapper(false).build();
  objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, true);
  return objectMapper;
}Şöyle yaparız.
builder.dateFormat(new SimpleDateFormat("yyyy-MM-dd"));Şöyle yaparız.
builder.indentOutput(true);Şöyle yaparız.
@Bean
public Jackson2ObjectMapperBuilder configureObjectMapper() {
  return new Jackson2ObjectMapperBuilder()
    .modulesToInstall(Hibernate5Module.class);
}Örnek
Şöyle yaparız.
Örnek
builder.propertyNamingStrategy
  (PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);Örnek
Şöyle yaparız
@Bean
public Jackson2ObjectMapperBuilder jacksonBuilder() {
  Jackson2ObjectMapperBuilder b = new Jackson2ObjectMapperBuilder();
  b.propertyNamingStrategy(PropertyNamingStrategy.LOWER_CAMEL_CASE);
  return b;
}serializationInclusion metodu
Şöyle yaparız
@Bean
public Jackson2ObjectMapperBuilder jacksonObjectMapperBuilder() {
  return new Jackson2ObjectMapperBuilder()
     .serializationInclusion(JsonInclude.Include.NON_NULL);
}Örnek
 
Hiç yorum yok:
Yorum Gönder