Skip to content

Commit d96a476

Browse files
committed
Adding ability to navigate to newer jackson version
1 parent b3bcd25 commit d96a476

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

src/main/java/com/taboola/rest/api/internal/config/SerializationConfig.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ public class SerializationConfig {
77
private Map<Class<?>, Class<?>> mixins;
88
private boolean shouldIgnoreAnySetterAnnotation;
99
private boolean shouldDisableReadUnknownEnumValuesAsDefaultValue;
10+
private boolean shouldUseSnakeCase;
1011

1112
public SerializationConfig() {
1213
mixins = new HashMap<>();
1314
shouldIgnoreAnySetterAnnotation = false;
1415
shouldDisableReadUnknownEnumValuesAsDefaultValue = false;
16+
shouldUseSnakeCase = false;
1517
}
1618

1719
public SerializationConfig setMixins(Map<Class<?>, Class<?>> mixins) {
@@ -29,6 +31,11 @@ public SerializationConfig setShouldDisableReadUnknownEnumValuesAsDefaultValue()
2931
return this;
3032
}
3133

34+
public SerializationConfig setShouldUseSnakeCase() {
35+
this.shouldUseSnakeCase = true;
36+
return this;
37+
}
38+
3239
public Map<Class<?>, Class<?>> getMixins() {
3340
return mixins;
3441
}
@@ -39,12 +46,16 @@ public boolean shouldIgnoreAnySetterAnnotation() {
3946
public boolean shouldDisableReadUnknownEnumValuesAsDefaultValue() {
4047
return shouldDisableReadUnknownEnumValuesAsDefaultValue;
4148
}
49+
public boolean shouldUseSnakeCase() {
50+
return shouldUseSnakeCase;
51+
}
4252

4353
@Override
4454
public String toString() {
4555
return "SerializationConfig{" +
4656
"mixins=" + mixins +
4757
", shouldIgnoreAnySetterAnnotation=" + shouldIgnoreAnySetterAnnotation +
58+
", shouldUseSnakeCase=" + shouldUseSnakeCase +
4859
'}';
4960
}
5061
}

src/main/java/com/taboola/rest/api/internal/serialization/SerializationMapperCreator.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,11 @@
99
public class SerializationMapperCreator {
1010
public static ObjectMapper createObjectMapper(SerializationConfig serializationConfig) {
1111
ObjectMapper objectMapper = new ObjectMapper();
12-
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
12+
if(serializationConfig.shouldUseSnakeCase()) {
13+
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.SNAKE_CASE);
14+
} else {
15+
objectMapper.setPropertyNamingStrategy(PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES);
16+
}
1317
objectMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
1418
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
1519

0 commit comments

Comments
 (0)