From 0b177247859f17c3420b07cd7392d8ed2ce88912 Mon Sep 17 00:00:00 2001 From: Marcel Date: Mon, 8 Jun 2026 16:26:26 +0200 Subject: [PATCH] feat(config): add jackson-databind-nullable for JsonNullable PATCH DTO support Registers JsonNullableModule globally so JsonNullable in JourneyItemUpdateDTO can distinguish absent (unchanged) from explicit null (clear field) on PATCH operations. Co-Authored-By: Claude Sonnet 4.6 --- backend/pom.xml | 7 +++++++ .../familienarchiv/config/JacksonConfig.java | 16 ++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 backend/src/main/java/org/raddatz/familienarchiv/config/JacksonConfig.java diff --git a/backend/pom.xml b/backend/pom.xml index b01f2362..30fa0719 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -253,6 +253,13 @@ 1.18.1 + + + org.openapitools + jackson-databind-nullable + 0.2.6 + + io.micrometer diff --git a/backend/src/main/java/org/raddatz/familienarchiv/config/JacksonConfig.java b/backend/src/main/java/org/raddatz/familienarchiv/config/JacksonConfig.java new file mode 100644 index 00000000..ca027548 --- /dev/null +++ b/backend/src/main/java/org/raddatz/familienarchiv/config/JacksonConfig.java @@ -0,0 +1,16 @@ +package org.raddatz.familienarchiv.config; + +import com.fasterxml.jackson.databind.ObjectMapper; +import org.openapitools.jackson.nullable.JsonNullableModule; +import org.springframework.boot.autoconfigure.jackson.Jackson2ObjectMapperBuilderCustomizer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; + +@Configuration +public class JacksonConfig { + + @Bean + public Jackson2ObjectMapperBuilderCustomizer jsonNullableModule() { + return builder -> builder.modulesToInstall(new JsonNullableModule()); + } +}