diff --git a/quadriga/pom.xml b/quadriga/pom.xml
index d0f530a4..0f084a87 100644
--- a/quadriga/pom.xml
+++ b/quadriga/pom.xml
@@ -188,6 +188,12 @@
jackson-databind
2.15.0
+
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+ 2.19.1
+
diff --git a/quadriga/src/main/java/edu/asu/diging/quadriga/config/ObjectIdToStringModule.java b/quadriga/src/main/java/edu/asu/diging/quadriga/config/ObjectIdToStringModule.java
new file mode 100644
index 00000000..82b48848
--- /dev/null
+++ b/quadriga/src/main/java/edu/asu/diging/quadriga/config/ObjectIdToStringModule.java
@@ -0,0 +1,12 @@
+package edu.asu.diging.quadriga.config;
+
+import com.fasterxml.jackson.databind.module.SimpleModule;
+import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
+import org.bson.types.ObjectId;
+
+public class ObjectIdToStringModule extends SimpleModule {
+ public ObjectIdToStringModule() {
+ addSerializer(ObjectId.class, new ToStringSerializer());
+ }
+}
+
diff --git a/quadriga/src/main/java/edu/asu/diging/quadriga/config/SpringWebConfig.java b/quadriga/src/main/java/edu/asu/diging/quadriga/config/SpringWebConfig.java
index d7a1ba2d..469bd112 100644
--- a/quadriga/src/main/java/edu/asu/diging/quadriga/config/SpringWebConfig.java
+++ b/quadriga/src/main/java/edu/asu/diging/quadriga/config/SpringWebConfig.java
@@ -1,8 +1,14 @@
package edu.asu.diging.quadriga.config;
+
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.http.converter.HttpMessageConverter;
+import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;
+
+import java.util.List;
@Configuration
@EnableWebMvc
@@ -12,4 +18,14 @@ public class SpringWebConfig implements WebMvcConfigurer {
public void addResourceHandlers(final ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
+
+ @Override
+ public void extendMessageConverters(List> converters) {
+ for (HttpMessageConverter> converter : converters) {
+ if (converter instanceof MappingJackson2HttpMessageConverter jsonConverter) {
+ ObjectMapper mapper = jsonConverter.getObjectMapper();
+ mapper.registerModule(new ObjectIdToStringModule());
+ }
+ }
+ }
}
\ No newline at end of file