From 6c2780927d3e2d0962b9408fda81acbd63e8f383 Mon Sep 17 00:00:00 2001 From: Konstantinos Spyrou Date: Tue, 20 Dec 2022 20:27:13 +0200 Subject: [PATCH] changed objectMapper and restTemplate configuration --- .../config/CustomRestTemplateConfig.java | 40 +++++++++++++++++++ .../manager/config/RedisConfiguration.java | 13 ------ 2 files changed, 40 insertions(+), 13 deletions(-) create mode 100644 src/main/java/eu/dnetlib/repo/manager/config/CustomRestTemplateConfig.java diff --git a/src/main/java/eu/dnetlib/repo/manager/config/CustomRestTemplateConfig.java b/src/main/java/eu/dnetlib/repo/manager/config/CustomRestTemplateConfig.java new file mode 100644 index 0000000..1a018a2 --- /dev/null +++ b/src/main/java/eu/dnetlib/repo/manager/config/CustomRestTemplateConfig.java @@ -0,0 +1,40 @@ +package eu.dnetlib.repo.manager.config; + +import com.fasterxml.jackson.databind.DeserializationFeature; +import com.fasterxml.jackson.databind.MapperFeature; +import com.fasterxml.jackson.databind.ObjectMapper; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; +import org.springframework.web.client.RestTemplate; + +@Configuration +public class CustomRestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + RestTemplate restTemplate = new RestTemplate(); + restTemplate.getMessageConverters().add(0, mappingJacksonHttpMessageConverter()); + return restTemplate; + } + + @Bean + public MappingJackson2HttpMessageConverter mappingJacksonHttpMessageConverter() { + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setObjectMapper(customObjectMapper()); + return converter; + } + + @Bean + public ObjectMapper customObjectMapper() { + ObjectMapper objectMapper = new ObjectMapper(); + + // Do not fail when reading unknown properties + objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + // Do not fail when reading properties of different case + objectMapper.configure(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES, true); + + return objectMapper; + } + +} diff --git a/src/main/java/eu/dnetlib/repo/manager/config/RedisConfiguration.java b/src/main/java/eu/dnetlib/repo/manager/config/RedisConfiguration.java index 74a4aa7..c6d1643 100644 --- a/src/main/java/eu/dnetlib/repo/manager/config/RedisConfiguration.java +++ b/src/main/java/eu/dnetlib/repo/manager/config/RedisConfiguration.java @@ -5,12 +5,9 @@ import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.jedis.JedisConnectionFactory; -import org.springframework.http.HttpHeaders; -import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter; import org.springframework.session.data.redis.config.annotation.web.http.EnableRedisHttpSession; import org.springframework.session.web.http.CookieSerializer; import org.springframework.session.web.http.DefaultCookieSerializer; -import org.springframework.web.client.RestTemplate; import javax.annotation.PostConstruct; @@ -58,14 +55,4 @@ public class RedisConfiguration { return serializer; } - @Bean - public RestTemplate restTemplate() { - RestTemplate restTemplate = new RestTemplate(); - restTemplate.getMessageConverters().add(new MappingJackson2HttpMessageConverter()); - HttpHeaders httpHeaders = new HttpHeaders(); - httpHeaders.set("Content-Type", "application/json"); - return restTemplate; - } - - }