Skip to content

Commit e22249f

Browse files
committed
fix: json인 경우, 하위호환성을 보장하도록 설정을 수정한다
1 parent 651cead commit e22249f

File tree

3 files changed

+34
-0
lines changed

3 files changed

+34
-0
lines changed

gradle.properties

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,3 +46,6 @@ logbackEcsEncoderVersion=1.6.0
4646

4747
### Slack ###
4848
slackVersion=1.40.2
49+
50+
### Jackson version ###
51+
jacksonVersion=2.18.3

gradle/core.gradle

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
dependencies {
22
implementation "org.rooftopmsa:netx:${netxVersion}"
33
implementation "com.github.ben-manes.caffeine:caffeine:${caffeineCacheVersion}"
4+
implementation "com.fasterxml.jackson.module:jackson-module-kotlin:${jacksonVersion}"
45
}
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
package org.gitanimals.core
2+
3+
import com.fasterxml.jackson.annotation.JsonAutoDetect
4+
import com.fasterxml.jackson.annotation.JsonCreator
5+
import com.fasterxml.jackson.annotation.PropertyAccessor
6+
import com.fasterxml.jackson.databind.DeserializationFeature
7+
import com.fasterxml.jackson.databind.ObjectMapper
8+
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule
9+
import com.fasterxml.jackson.module.kotlin.jacksonObjectMapper
10+
import com.fasterxml.jackson.module.paramnames.ParameterNamesModule
11+
import org.springframework.context.annotation.Bean
12+
import org.springframework.context.annotation.Configuration
13+
import org.springframework.context.annotation.Primary
14+
15+
@Configuration
16+
class JacksonConfig {
17+
18+
@Bean
19+
@Primary
20+
fun objectMapper(): ObjectMapper {
21+
return jacksonObjectMapper()
22+
.setVisibility(PropertyAccessor.FIELD, JsonAutoDetect.Visibility.ANY)
23+
.registerModule(ParameterNamesModule(JsonCreator.Mode.PROPERTIES))
24+
.registerModule(JavaTimeModule())
25+
.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false)
26+
.configure(DeserializationFeature.FAIL_ON_MISSING_CREATOR_PROPERTIES, false)
27+
.configure(DeserializationFeature.FAIL_ON_NULL_FOR_PRIMITIVES, false)
28+
29+
}
30+
}

0 commit comments

Comments
 (0)