Java-SDK: Zusätzliche Attribute im Metadatensatz werden vom SDK abgelehnt

Zusammenfassung

Beim setzten von nicht im AdditionalReferenceInfo vorhandenen Feldern tritt ein Mapping Fehler auf:

09:14:45.532 [main] ERROR d.f.f.client.SubscriberClient Reading metadata failed

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "x-applicant" (class dev.fitko.fitconnect.api.domain.model.metadata.AdditionalReferenceInfo), not marked as ignorable (2 known properties: "senderReference", "applicationDate"])

at [Source: (byte[])"{"additionalReferenceInfo":{"x-applicant":{"login":{"identifier":"14302","authorizer":https://govos.de}},"senderReference":"NAVO-DEMO-25645","applicationDate":"2022-11-30","x-sender":{"product":{"versiom":"16.0.0","name":"GovOS","description":"Governmental Operation System (GovOS)","manufacturer":{"name":"FJD Information Technologies AG","description":""}},"address":https://demo.navo.niedersachsen.de/demo,"name":"NAVO-DEMO","description":"NAVO Demosystem"}},"publicServiceType":{"identifier":"[truncated 1014 bytes]; line: 1, column: 44] (through reference chain: dev.fitko.fitconnect.api.domain.model.metadata.Metadata["additionalReferenceInfo"]->dev.fitko.fitconnect.api.domain.model.metadata.AdditionalReferenceInfo["x-applicant"])
  • siehe https://json-schema.org/understanding-json-schema/reference/object.html#additional-properties

Schritte zum Reproduzieren

  1. Metadaten-JSON mit AdditionalReferenceInfo erzeugen das ein zusätzliches Feld wie bspw. x-sender enthält
  2. Mappen gegen das Metadata Objekt via Jackson Object-Mapper

Wie verhält sich der aktuelle Fehler?

Das Mapping nicht bekannter Attribute/Felder führen zu einer Exception

Was ist das erwartete richtige Verhalten?

Nicht bekannte Felder sollten: a) ignoriert werden oder b) in einer Struktur wie z.B. einer addtionalProperties Map abgelegt werden können

Akzeptanzkritierien

  1. Es gibt mind. 2 Unit-Tests, die prüfen, ob ein Metadatensatz mit zusätzlichen Attributen an verschiedenen Stellen akzeptiert wird.
  2. Es gibt mind. 2 Unit-Tests, die prüfen, ob ein SET-Payload mit zusätzlichen Attributen an verschiedenen Stellen akzeptiert wird.

Relevante Protokolle/Screenshots/Anfragen

Akzeptanzkriterien zur Fehlerbehebung

  1. [ ]
  2. [ ]
  3. [ ]
Edited Jan 17, 2023 by Marco Holz
Assignee Loading
Time tracking Loading