Skip to content

RFE: Backend JSON codec extensibility and migration support #5995

Open

Description

@shai-almog

The backend already parses JSON trees as maps/lists and generates DTO codecs with JsonProperty/JsonIgnore, enum, date, and byte-array support. Generated bodies require a no-argument constructor, generic type-variable fields and non-byte arrays are rejected, and unknown members are always ignored. More complex API contracts need explicit extension points instead of a runtime Jackson dependency.

Requested capability

  • Support registered build-time custom codecs and construction strategies for immutable DTOs.
  • Extend generated handling of typed generic DTOs and arrays, with explicit diagnostics for remaining unsupported shapes.
  • Expose configurable unknown-field handling, aliases, null/absent semantics, and date/numeric formatting policies.
  • Provide a documented migration guide for common ObjectMapper/JsonNode use cases using the existing tree API and generated codecs.

Acceptance criteria

  • Contract fixtures cover renamed/ignored fields, nested generics, arrays, immutable values, unknown members, and absent versus explicit null.
  • Custom codecs are retained in native output without reflection or runtime scanning.
  • Malformed values retain precise field-path diagnostics and configurable resource limits.
  • Existing default JSON behavior remains backward compatible.

Current implementation

Validate behavior on the JVM and locally on the packaged ParparVM backend where applicable. This request does not call for native-image or GraalVM CI jobs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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