-
Notifications
You must be signed in to change notification settings - Fork 102
Open
Labels
bugSomething isn't working rightSomething isn't working right
Description
Describe the bug
I have a malformed UUID, which I re-map like so:
record MyClass(@JsonbProperty("sys_id") @JsonbTypeDeserializer(SysIdDeserializer.class) UUID sysId) {}
It will just be ignored:
Caused by: java.lang.IllegalArgumentException: Invalid UUID string: 2b8f1a676f04c7c027e0cc60cb1f4ec3
at java.base/java.util.UUID.fromString1(UUID.java:280)
at java.base/java.util.UUID.fromString(UUID.java:258)
at [email protected]/org.eclipse.yasson.internal.serializer.UUIDTypeDeserializer.deserialize(UUIDTypeDeserializer.java:37)
at [email protected]/org.eclipse.yasson.internal.serializer.UUIDTypeDeserializer.deserialize(UUIDTypeDeserializer.java:24)
at [email protected]/org.eclipse.yasson.internal.serializer.AbstractValueTypeDeserializer.deserialize(AbstractValueTypeDeserializer.java:64)
at [email protected]/org.eclipse.yasson.internal.serializer.ObjectDeserializer.deserializeNext(ObjectDeserializer.java:167)
at [email protected]/org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer.deserializeInternal(AbstractContainerDeserializer.java:94)
at [email protected]/org.eclipse.yasson.internal.serializer.AbstractContainerDeserializer.deserialize(AbstractContainerDeserializer.java:64)
at [email protected]/org.eclipse.yasson.internal.Unmarshaller.deserializeItem(Unmarshaller.java:62)
... 86 more
To Reproduce
record MyClass(@JsonbProperty("sys_id") @JsonbTypeDeserializer(SysIdDeserializer.class) UUID sysId) {}
Expected behavior
Should work.
System information:
- OS: Mac (latest)
- Java Version: 17 (tem and sem)
- Yasson Version: 2.0.4
Additional context
Workaround: add the converter globally. But then it will be used even for json fields which already have valid fields.
@JsonbTypeAdapter()
seems to check wrong types, will create a separate issue.
Yes, this is a 2.0.4 bug. I cannot upgrade to 3.x.x just now, because I am stuck with Jakarta 8 for now.
Metadata
Metadata
Assignees
Labels
bugSomething isn't working rightSomething isn't working right