diff --git a/core/src/main/java/io/confluent/rest/Application.java b/core/src/main/java/io/confluent/rest/Application.java index b6d8bfd4b8..da7f636d7d 100644 --- a/core/src/main/java/io/confluent/rest/Application.java +++ b/core/src/main/java/io/confluent/rest/Application.java @@ -174,8 +174,7 @@ public void configureBaseApplication(Configurable config) { public void configureBaseApplication(Configurable config, Map metricTags) { RestConfig restConfig = getConfiguration(); - ObjectMapper jsonMapper = getJsonMapper(); - JacksonMessageBodyProvider jsonProvider = new JacksonMessageBodyProvider(jsonMapper); + JacksonMessageBodyProvider jsonProvider = new JacksonMessageBodyProvider(); config.register(jsonProvider); config.register(JsonParseExceptionMapper.class); diff --git a/core/src/main/java/io/confluent/rest/validation/JacksonMessageBodyProvider.java b/core/src/main/java/io/confluent/rest/validation/JacksonMessageBodyProvider.java index fc8a70b49b..50c001f3a5 100644 --- a/core/src/main/java/io/confluent/rest/validation/JacksonMessageBodyProvider.java +++ b/core/src/main/java/io/confluent/rest/validation/JacksonMessageBodyProvider.java @@ -15,12 +15,14 @@ */ package io.confluent.rest.validation; +import com.fasterxml.jackson.databind.DeserializationFeature; import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException; import com.fasterxml.jackson.jaxrs.json.JacksonJaxbJsonProvider; import javax.validation.ConstraintViolationException; +import javax.ws.rs.WebApplicationException; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.MultivaluedMap; import javax.ws.rs.ext.Provider; @@ -40,7 +42,9 @@ public class JacksonMessageBodyProvider extends JacksonJaxbJsonProvider { public JacksonMessageBodyProvider() { - setMapper(new ObjectMapper()); + ObjectMapper mapper = new ObjectMapper(); + mapper.enable(DeserializationFeature.FAIL_ON_READING_DUP_TREE_KEY); + setMapper(mapper); } public JacksonMessageBodyProvider(ObjectMapper mapper) {