FasterXML / jackson-jakarta-rs-providers

Multi-module project that contains Jackson-based "new" Jakarta-RS (nee "JAX-RS" -- ones under `jakarta.ws.rs`) providers for JSON, XML, YAML, Smile, CBOR formats
Apache License 2.0
14 stars 11 forks source link

Overview

This is a multi-module project that contains Jackson-based Jakarta-RS (*) providers for following data formats:

Providers implement Jakarta-RS MessageBodyReader and MessageBodyWriter handlers for specific data formats. They also contain SPI settings for auto-registration.

Build Status Maven Central Javadoc

(*) NOTE: Jakarta-RS is the package under jakarta.ws.rs, replacing older JAX-RS which lived under javax.ws.rs. For JAX-RS variant, see repo jackson-jaxrs-providers

Build

Usual Maven build like other Jackson repos, with one difference: requires JDK 11 to build (as opposed to JDK 8 for most other repos), as of Jackson 2.13

Status

Module is fully functional and considered mature.

Maven dependency

To use Jakarta-RS on Maven-based projects, use dependencies like:

<dependency>
  <groupId>com.fasterxml.jackson.jakarta.rs</groupId>
  <artifactId>jackson-jakarta-rs-json-provider</artifactId>
  <version>2.14.1</version>
</dependency>

(above is for JSON provider; modify appropriately for other providers)

Usage: registering providers

Due to auto-registration, it should be possible to simply add Maven dependency (or include jar if using other build systems) and let Jakarta-RS implementation discover provider. If this does not work you need to consult documentation of the Jakarta-RS implementation for details.

To use Jackson with Jersey see their documentation.

Annotations on resources

In addition to annotation value classes, it is also possible to use a subset of Jackson annotations with provider.

Here is a short list of supported annotations that work with all formats:

In addition there are format-specific annotations that may be used:

Support

Community support

Jackson components are supported by the Jackson community through mailing lists, Gitter forum, Github issues. See Participation, Contributing for full details.

Enterprise support

Support may be added via Tidelift Subscription model, if there is enough interest.


Other

For documentation, downloads links, check out Wiki