Skip to content

Commit 3b5f7ff

Browse files
committed
making Jackson mapper more tolerable
1 parent 75b7129 commit 3b5f7ff

File tree

4 files changed

+5
-9
lines changed

4 files changed

+5
-9
lines changed

service/src/main/java/uk/nhs/adaptors/gp2gp/common/configuration/ObjectMapperConfig.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package uk.nhs.adaptors.gp2gp.common.configuration;
22

33
import com.fasterxml.jackson.core.StreamReadConstraints;
4+
import com.fasterxml.jackson.databind.DeserializationFeature;
45
import com.fasterxml.jackson.databind.ObjectMapper;
56
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
67
import org.springframework.context.annotation.Bean;
@@ -13,6 +14,7 @@ public class ObjectMapperConfig {
1314
public ObjectMapper objectMapper() {
1415
ObjectMapper mapper = new ObjectMapper();
1516
mapper.getFactory().setStreamReadConstraints(StreamReadConstraints.builder().maxStringLength(Integer.MAX_VALUE).build());
17+
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
1618
mapper.registerModule(new JavaTimeModule());
1719

1820
return mapper;

service/src/main/java/uk/nhs/adaptors/gp2gp/common/task/TaskDefinition.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,5 @@ public abstract class TaskDefinition {
4343
*/
4444
private final String toOdsCode;
4545

46-
private final TaskType taskType;
47-
4846
public abstract TaskType getTaskType();
4947
}

service/src/main/java/uk/nhs/adaptors/gp2gp/ehr/SendAcknowledgementTaskDefinition.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package uk.nhs.adaptors.gp2gp.ehr;
22

33
import static uk.nhs.adaptors.gp2gp.common.task.TaskType.SEND_ACKNOWLEDGEMENT;
4-
5-
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
64
import lombok.EqualsAndHashCode;
75
import lombok.Getter;
86
import lombok.experimental.SuperBuilder;
@@ -13,7 +11,6 @@
1311
/**
1412
* Task definition for sending acknowledgment
1513
*/
16-
@JsonIgnoreProperties(ignoreUnknown = true)
1714
@Jacksonized
1815
@SuperBuilder
1916
@Getter

service/src/test/java/uk/nhs/adaptors/gp2gp/common/configuration/ObjectMapperConfigTest.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,12 +3,11 @@
33
import com.fasterxml.jackson.annotation.JsonProperty;
44
import com.fasterxml.jackson.core.StreamReadConstraints;
55
import com.fasterxml.jackson.databind.ObjectMapper;
6-
import com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException;
76
import org.junit.jupiter.api.Test;
87
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
98

9+
import static org.junit.jupiter.api.Assertions.assertDoesNotThrow;
1010
import static org.junit.jupiter.api.Assertions.assertEquals;
11-
import static org.junit.jupiter.api.Assertions.assertThrows;
1211
import static org.junit.jupiter.api.Assertions.assertTrue;
1312

1413
class ObjectMapperConfigTest {
@@ -38,14 +37,14 @@ void javaTimeModuleIsRegisteredTest() {
3837
}
3938

4039
@Test
41-
void objectMapperConfigDoesNotIgnoreUnknownPropertiesTest() {
40+
void objectMapperConfigIgnoresUnknownPropertiesTest() {
4241

4342
AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext(ObjectMapperConfig.class);
4443
ObjectMapper objectMapper = context.getBean(ObjectMapper.class);
4544

4645
String jsonWithUnknownProperty = "{\"knownProperty\":\"testValue\", \"unknownProperty\":\"extraValue\"}";
4746

48-
assertThrows(UnrecognizedPropertyException.class, () -> {
47+
assertDoesNotThrow(() -> {
4948
TestClass result = objectMapper.readValue(jsonWithUnknownProperty, TestClass.class);
5049
assertEquals("testValue", result.knownProperty);
5150
});

0 commit comments

Comments
 (0)