Skip to content

Commit e59eb75

Browse files
committed
Kun JsonMapper + hook for copy
1 parent 2e7b93f commit e59eb75

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

felles/mapper/src/main/java/no/nav/vedtak/mapper/json/DefaultJsonMapper.java

+19-5
Original file line numberDiff line numberDiff line change
@@ -13,32 +13,46 @@
1313
import com.fasterxml.jackson.databind.DeserializationFeature;
1414
import com.fasterxml.jackson.databind.JsonNode;
1515
import com.fasterxml.jackson.databind.MapperFeature;
16-
import com.fasterxml.jackson.databind.ObjectMapper;
1716
import com.fasterxml.jackson.databind.SerializationFeature;
1817
import com.fasterxml.jackson.databind.json.JsonMapper;
1918
import com.fasterxml.jackson.datatype.jdk8.Jdk8Module;
2019
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
2120

2221
import no.nav.vedtak.exception.TekniskException;
2322

23+
/**
24+
* OBS: JsonMapper er en subklasse av ObjectMapper - tilpasset Json og med en enklere builder
25+
* Se også jackson-core, pakke json, JsonReadFeature og JsonWriteFeature for mer Java/Json-nær konfig/features
26+
*/
2427
public class DefaultJsonMapper {
2528

2629
private DefaultJsonMapper() {
2730

2831
}
2932

30-
private static final JsonMapper MAPPER = createObjectMapper();
33+
private static final JsonMapper MAPPER = createJsonMapper();
3134

32-
public static ObjectMapper getObjectMapper() {
35+
@Deprecated // Bruk getJsonMapper() når mapper-konfig brukes as is og ikke endres ((de)serializers eller subtypes
36+
public static JsonMapper getObjectMapper() {
3337
return MAPPER;
3438
}
3539

36-
private static JsonMapper createObjectMapper() {
40+
// Foretrekker denne - men bruk heller metoder nedenfor direkte enn å assigne til lokale variable
41+
public static JsonMapper getJsonMapper() {
42+
return MAPPER;
43+
}
44+
45+
// Bruk denne for kun for ContextResolver (JacksonJsonConfig-klasser) som skal legge til (de)serializers eller registrere subtypes
46+
public static JsonMapper getCopyFromDefaultJsonMapper() {
47+
return MAPPER.copy();
48+
}
49+
50+
private static JsonMapper createJsonMapper() {
3751
return JsonMapper.builder()
3852
.addModule(new Jdk8Module())
3953
.addModule(new JavaTimeModule())
4054
.defaultTimeZone(TimeZone.getTimeZone("Europe/Oslo"))
41-
.enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES) // Trengs denne? Sak har kjørt uten
55+
.enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_PROPERTIES) // TODO: Trengs denne? Sak har kjørt lenge uten
4256
.disable(SerializationFeature.FAIL_ON_EMPTY_BEANS)
4357
.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS)
4458
.disable(SerializationFeature.WRITE_DURATIONS_AS_TIMESTAMPS)

0 commit comments

Comments
 (0)