Ability to serialize / deserialize boolean properties as numeric values in json
Feature description
I have a boolean property that I would like to serialize/deserialize to json as a numeric value 0 or 1. I believe this typically could be done by annotating the property with @JsonFormat(shape=JsonFormat.Shape.Number). As documented micronaut doesn't not support the shape property for JsonFormat and attempts to use it result in the following error:
Annotation @JsonFormat specifies attribute 'shape'. Currently supported attributes include: [timezone, pattern, locale, lenient]
Are there any plans to support this?
probably doable yeah
I don't have a feel for how big of an undertaking this would be. If this seems like something that would be a good starter task, and someone is willing to point me in the right direction, I'd be willing to take a stab at a solution.
- step 1 is disable the compile time check in JsonFormatMapper by modifying getSupportedMemberNames
- Then I guess BooleanSerde would need to be modified to override
createSpecificfor serialization / deserialization with a specific customised serialised to handle the shape
The other solution would be detecting it in the compilation time and and setting a custom serializer/deserializer interface ShapeDeserializer / interface ShapeSerializer + add implementation which would use createSpecific and some logic to do the convertion
that would likely be more efficient yes