Skip to content

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.