Class Jackson3JsonApi

java.lang.Object
com.kazforge.jsonapi.jackson3.Jackson3JsonApi
All Implemented Interfaces:
com.kazforge.jsonapi.api.JsonApi

public final class Jackson3JsonApi extends Object implements com.kazforge.jsonapi.api.JsonApi
Configured Jackson 3 implementation of the major-neutral Level-1 JsonApi application contract.

Obtain instances through JsonApiJackson3.jsonApi(JsonMapper) for documented defaults or JsonApiJackson3.builder(JsonMapper) for coherent application-lifetime configuration (identifier conversion, custom linkage mapping, representation policy, resource decoration, and an optional resource-write JSON:API version default). The runtime is immutable and safe for concurrent use once created.

The runtime coordinates the capability pipeline internally: resource mapping with configured decoration, mapped-document validation, document writing, document decoding with aggregate validation, flat DTO binding, and PATCH projection — so ordinary callers never orchestrate those steps manually. The advanced capability APIs are also available.

Request-scoped values (representation selection, document envelope, and expected update identity) stay method arguments. An absent per-write jsonapi member may inherit the configured application-lifetime default on JsonApiResources writes, while an explicit value always wins completely. Raw document and minimal linkage writes remain explicit. The relationship facet explicitly composes identifier decoding with the relationship endpoint role; the ordinary response writer stays on the resource endpoint role for resources and raw documents.

  • Method Details

    • resources

      public com.kazforge.jsonapi.api.JsonApiResources resources()
      Specified by:
      resources in interface com.kazforge.jsonapi.api.JsonApi
    • relationships

      public com.kazforge.jsonapi.api.JsonApiRelationships relationships()
      Specified by:
      relationships in interface com.kazforge.jsonapi.api.JsonApi
    • documents

      public com.kazforge.jsonapi.api.JsonApiDocuments documents()
      Specified by:
      documents in interface com.kazforge.jsonapi.api.JsonApi
    • patches

      public com.kazforge.jsonapi.api.JsonApiPatches patches()
      Specified by:
      patches in interface com.kazforge.jsonapi.api.JsonApi