diff --git a/common/build.gradle b/common/build.gradle new file mode 100644 index 0000000..e9aac46 --- /dev/null +++ b/common/build.gradle @@ -0,0 +1,10 @@ +dependencies { + implementation 'org.springframework:spring-web' + implementation 'com.fasterxml.jackson.core:jackson-databind' + implementation 'org.apache.httpcomponents.client5:httpclient5' + + compileOnly 'org.projectlombok:lombok' + annotationProcessor 'org.projectlombok:lombok' + + testImplementation 'org.junit.jupiter:junit-jupiter' +} diff --git a/common/src/main/java/com/hithomelabs/common/config/RestTemplateConfig.java b/common/src/main/java/com/hithomelabs/common/config/RestTemplateConfig.java new file mode 100644 index 0000000..298d3fe --- /dev/null +++ b/common/src/main/java/com/hithomelabs/common/config/RestTemplateConfig.java @@ -0,0 +1,22 @@ +package com.hithomelabs.common.config; + +import com.fasterxml.jackson.annotation.JsonInclude; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.SerializationFeature; +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 RestTemplateConfig { + + @Bean + public RestTemplate restTemplate() { + RestTemplate restTemplate = new RestTemplate(); + MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(); + converter.setObjectMapper(new ObjectMapper().enable(SerializationFeature.WRAP_ROOT_VALUE).setSerializationInclusion(JsonInclude.Include.NON_NULL)); + restTemplate.getMessageConverters().add(0, converter); + return restTemplate; + } +}