|
1 | 1 | package com.maxmind.minfraud.response; |
2 | 2 |
|
3 | | -import com.fasterxml.jackson.databind.DeserializationFeature; |
4 | | -import com.fasterxml.jackson.databind.InjectableValues; |
| 3 | +import com.fasterxml.jackson.annotation.JsonInclude; |
| 4 | +import com.fasterxml.jackson.databind.*; |
5 | 5 | import com.fasterxml.jackson.databind.InjectableValues.Std; |
6 | | -import com.fasterxml.jackson.databind.MapperFeature; |
7 | | -import com.fasterxml.jackson.databind.ObjectMapper; |
| 6 | +import com.fasterxml.jackson.databind.json.JsonMapper; |
8 | 7 | import com.fasterxml.jackson.databind.util.StdDateFormat; |
9 | 8 | import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; |
10 | 9 |
|
|
14 | 13 | public abstract class AbstractOutputTest { |
15 | 14 |
|
16 | 15 | <T> T deserialize(Class<T> cls, String json) throws IOException { |
17 | | - ObjectMapper mapper = new ObjectMapper(); |
18 | | - mapper.disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS); |
19 | | - mapper.enable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES); |
20 | | - mapper.registerModule(new JavaTimeModule()); |
21 | | - mapper.setDateFormat(new StdDateFormat().withColonInTimeZone(true)); |
| 16 | + ObjectMapper mapper = JsonMapper.builder() |
| 17 | + .addModule(new JavaTimeModule()) |
| 18 | + .defaultDateFormat(new StdDateFormat().withColonInTimeZone(true)) |
| 19 | + .enable(SerializationFeature.WRITE_ENUMS_USING_TO_STRING) |
| 20 | + .disable(MapperFeature.CAN_OVERRIDE_ACCESS_MODIFIERS) |
| 21 | + .disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES) |
| 22 | + .disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS) |
| 23 | + .serializationInclusion(JsonInclude.Include.NON_NULL) |
| 24 | + .serializationInclusion(JsonInclude.Include.NON_EMPTY) |
| 25 | + .build(); |
22 | 26 | InjectableValues inject = new Std().addValue( |
23 | 27 | "locales", Collections.singletonList("en")); |
24 | 28 | return mapper.readerFor(cls).with(inject).readValue(json); |
|
0 commit comments