From b5222375127460a3cbc12dcb079baf55bef6a3e1 Mon Sep 17 00:00:00 2001 From: Kai Yuan Date: Tue, 18 Oct 2022 02:41:41 +0200 Subject: [PATCH] [deserializeEnumCaseInsensitve] Deserializing Enums in a Case-Insensitive Manner in Jackson (#12868) --- .../DefaultEnumDeserializationUnitTest.java | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/jackson-modules/jackson-conversions/src/test/java/com/baeldung/jackson/enums/deserialization/DefaultEnumDeserializationUnitTest.java b/jackson-modules/jackson-conversions/src/test/java/com/baeldung/jackson/enums/deserialization/DefaultEnumDeserializationUnitTest.java index 43e21100ea..18345d40ab 100644 --- a/jackson-modules/jackson-conversions/src/test/java/com/baeldung/jackson/enums/deserialization/DefaultEnumDeserializationUnitTest.java +++ b/jackson-modules/jackson-conversions/src/test/java/com/baeldung/jackson/enums/deserialization/DefaultEnumDeserializationUnitTest.java @@ -1,20 +1,33 @@ package com.baeldung.jackson.enums.deserialization; import static org.junit.jupiter.api.Assertions.assertEquals; + import java.io.IOException; import org.junit.Test; -import com.fasterxml.jackson.core.JsonParseException; + +import com.fasterxml.jackson.databind.MapperFeature; import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; public class DefaultEnumDeserializationUnitTest { @Test - public void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws JsonParseException, IOException { + public void givenEnum_whenDeserializingJson_thenCorrectRepresentation() throws IOException { String json = "{\"distance\":\"KILOMETER\"}"; City city = new ObjectMapper().readValue(json, City.class); - + assertEquals(Distance.KILOMETER, city.getDistance()); } + @Test + public void givenEnum_whenDeserializingJsonWithMapperFeature_thenCorrectRepresentation() throws IOException { + String json = "{\"distance\":\"KiLoMeTeR\"}"; + ObjectMapper objectMapper = JsonMapper.builder() + .enable(MapperFeature.ACCEPT_CASE_INSENSITIVE_ENUMS) + .build(); + City city = objectMapper.readValue(json, City.class); + + assertEquals(Distance.KILOMETER, city.getDistance()); + } }