Handling conversion of JSON with standard Avro encoding #749
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added
avro/json
payload content-type and applied standardJSON->AVRO
conversion mechanism for messages with this type. (based on https://avro.apache.org/docs/1.8.1/spec.html#json_encoding)This addresses the issue with custom JSON converter (allegro/json-avro-converter#14), where more complex Union types could not be properly matched, since plain JSON does not carry type information.
For given schema:
proper
avro/json
formatted message is:NOTE: when namespace is defined, for custom defined types (records, etc. but not primitives) it must be prepended to type discriminator
{ "<namespace>.<type name>": <value> }
compared to standard
application/json
: