Skip to content

[Avro] can't serialize POJO with extra field (that isn't in the schema) #226

Open
@leonbur

Description

@leonbur

My POJO is autogenerated from an avro schema file. There are extra (private) fields in the POJO as a result of the generation.
The mapper doesn't allow me to serialize this POJO with that very schema even though it (the POJO) contains all the necessary fields.

Example:
POJO:

class Person {
        private String name;
        private String unnecessaryField;

       // getters, setters and constructors
    }

Schema:

{
  "name": "Person",
  "type": "record",
  "fields": [
		{
			"name": "name",
                        "type": "string"
                }
	]
}

Code:

Person person = new Person("Jackie", "bla bla");

AvroSchema s = mapper.schemaFrom(personSchemaStr);
byte[] serialized = mapper.writer(s).writeValueAsBytes(person);

Exception:
com.fasterxml.jackson.databind.JsonMappingException: No field named 'unnecessaryField'

Metadata

Metadata

Assignees

No one assigned

    Labels

    avropr-neededFeature request for which PR likely needed (no active development but idea is workable)

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions