FasterXML / FasterXML/jackson-module-jsonSchema

Invalid serialisation of UnionTypeSchema

Aperta
#90 6 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
387
Fork
136
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Descrizione

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)

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.