diff --git a/pom.xml b/pom.xml index b616dc2..3242238 100644 --- a/pom.xml +++ b/pom.xml @@ -1,5 +1,6 @@ - + 4.0.0 diff --git a/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java b/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java index bd21229..5c4bbdf 100644 --- a/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java +++ b/src/main/java/it/aboutbits/springboot/toolbox/jackson/CustomTypeSerializer.java @@ -4,8 +4,11 @@ import com.fasterxml.jackson.databind.JsonSerializer; import com.fasterxml.jackson.databind.SerializerProvider; import it.aboutbits.springboot.toolbox.type.CustomType; +import it.aboutbits.springboot.toolbox.type.ScaledBigDecimal; import java.io.IOException; +import java.math.BigDecimal; +import java.math.BigInteger; import java.util.UUID; public class CustomTypeSerializer extends JsonSerializer> { @@ -27,6 +30,15 @@ public void serialize( case String stringValue -> jsonGenerator.writeString(stringValue); case UUID uuidValue -> jsonGenerator.writeString(uuidValue.toString()); case Enum enumValue -> jsonGenerator.writeString(enumValue.name()); + case Byte numericValue -> jsonGenerator.writeNumber(numericValue); + case Short numericValue -> jsonGenerator.writeNumber(numericValue); + case Integer numericValue -> jsonGenerator.writeNumber(numericValue); + case Long numericValue -> jsonGenerator.writeNumber(numericValue); + case Float numericValue -> jsonGenerator.writeNumber(numericValue); + case Double numericValue -> jsonGenerator.writeNumber(numericValue); + case BigInteger numericValue -> jsonGenerator.writeNumber(numericValue); + case BigDecimal numericValue -> jsonGenerator.writeNumber(numericValue); + case ScaledBigDecimal numericValue -> jsonGenerator.writeNumber(numericValue.doubleValue()); case null -> jsonGenerator.writeNull(); default -> jsonGenerator.writeRawValue(String.valueOf(value)); }