Skip to content

[Java][jersey2] The jersey2 library does not support additional undeclared properties #6646

@sebastien-rosset

Description

@sebastien-rosset

Bug Report Checklist

  • Have you provided a full/minimal spec to reproduce the issue?
  • Have you validated the input using an OpenAPI validator (example)?
  • What's the version of OpenAPI Generator used?
  • Have you search for related issues/PRs?
  • What's the actual output vs expected output?
  • [Optional] Bounty to sponsor the fix (example)
Description

The jersey2 library fails deserialization when the input data contains additional (undeclared) properties. For example, suppose the input data is the following JSON document:

{
      "Name": "Bob",
      "CreateTime": "2020-04-13T21:57:56.552Z",
      "UserUniqueIdentifier": "2aff0200-3d2e-4ba3-823d-c9ea8877556d"
}

The schema explicitly declares Name and CreateTime but not UserUniqueIdentifier:

When the jersey2 library attempts to deserialize the payload, an error occurs:

INFO: Input data does not match schema 'XYZ'
com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:
Unrecognized field "UserUniqueIdentifier" (class XYZ),
not marked as ignorable (31 known properties: ""CreateTime", "Name", ...])
 at [Source: UNKNOWN; line: -1, column: -1]
(through reference chain: XYZ["Results"]->java.util.ArrayList[0]->XYZ["UserUniqueIdentifier"])
openapi-generator version

master June 12th

OpenAPI declaration file content or url
User:
  type: object
  properties:
    Name:
      type: string
    CreateTime:
      type: string
  additionalProperties: true
Command line used for generation
Steps to reproduce
Related issues/PRs
Suggest a fix

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions