JSON:API 1.1 for Java 21+¶
Read and write JSON:API 1.1 documents in Java 21+ without handing over your endpoints, persistence, or application architecture. jsonapi-java uses Jackson 3 for DTO mapping, document validation, presence-aware PATCH, and relationship linkage, with a separate query parser for includes, sparse fieldsets, sort, and opaque parameters.
The runtime coordinate is com.kazforge:jsonapi-java-jackson3. Install and run an example.
Release status¶
Current release: 0.4.0.
Find published artifacts on Maven Central. The 0.x line is intended for real library use, but public API refinement remains possible before 1.0: minor releases may break compatibility; patch releases do not.
Choose a task¶
| I need to… | Start here |
|---|---|
| Add a dependency and configure Jackson | Getting started |
| Change runtime defaults or distinguish per-operation settings | Configuration |
| Map create requests and responses, relationships, and collections | Resources |
| Work with linkage, errors, or exact document state | Relationships and documents |
| Read partial updates and distinguish omitted, null, and supplied values | PATCH |
| Parse query parameters and select fields/included resources | Query and representation |
| Diagnose validation, mapping, or query failures | Diagnostics |
| Look up exact API contracts for a release | API Reference |
DTO mapping follows your configured Jackson property model. Relationships carry identifiers, not automatically loaded objects. The document APIs distinguish absent members, explicit null, and empty collections or objects, including states a flat DTO cannot represent.
Application boundaries¶
You own HTTP/media-type handling, persistence, authorization, query execution, relationship lookup,
and applying updates. An annotation does not fetch a relationship; parsing filter does not run a
query; reading a PATCH does not mutate an entity.
Spring integration lives in the separate kazforge/jsonapi-java-spring companion repository with
its own release train and is not shipped here; it is not required to use the core
library. No controller, ORM, or repository integration is required to use this library.
Project¶
Releases and release notes · Issues · Apache-2.0 license · Security reporting · Contributing
Maven Central publications are signed and include per-module CycloneDX SBOMs.