FasterXML / FasterXML/jackson-module-jsonSchema
Invalid serialisation of UnionTypeSchema
- Dominant language
- Java
- Stars
- 387
- Forks
- 136
- PR merge metrics
- No merged PRs in 30d
Description
UnionTypeSchema currently cannot be serialised because it returns a null type which is not welcomed by JsonSchemaIdResolver.idFromValue. If you extend UnionTypeSchema and return a type then it serialises this as "type" and serialises the types as "elements". This is not valid JSON Schema. It should serialize the union as a "type" array. See https://tools.ietf.org/html/draft-zyp-json-schema-03#page-8
If I then attempt to further patch UnionTypeSchema to change "elements" into "type" then it serialises with TWO "type" properties which isn't even valid JSON!
If I attempt to annotate UnionTypeSchema to not include type info with @JsonTypeInfo(use = JsonTypeInfo.Id.NONE, property = "type") then it has no effect except when the union type schema is passed directly to ObjectMapper.
A test case is attached.
[JacksonUnionTypeSerializationBugTest.java.txt](https://github.com/FasterXML/jackson-module-jsonSchema/files/62387/JacksonUnionTypeSerializationBugTest.java.txt)
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.