All Projects → FasterXML → Jackson Jaxrs Providers

FasterXML / Jackson Jaxrs Providers

Licence: apache-2.0
Multi-module project that contains Jackson-based JAX-RS providers for JSON, XML, YAML, Smile, CBOR formats

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Jackson Jaxrs Providers

Fhir
The IBM® FHIR® Server and related projects
Stars: ✭ 117 (+19.39%)
Mutual labels:  jax-rs, hacktoberfest
id-mask
IDMask is a Java library for masking internal ids (e.g. from your DB) when they need to be published to hide their actual value and to prevent forging. It has support optional randomisation has a wide support for various Java types including long, UUID and BigInteger. This library bases its security on strong cryptographic primitives.
Stars: ✭ 39 (-60.2%)
Mutual labels:  jax-rs, jackson
Jersey Jwt
Example of REST API with JWT authentication using Jersey, Jackson, Undertow, Weld, Hibernate and Arquillian.
Stars: ✭ 131 (+33.67%)
Mutual labels:  jax-rs, jackson
Jackson Core
Core part of Jackson that defines Streaming API as well as basic shared abstractions
Stars: ✭ 2,003 (+1943.88%)
Mutual labels:  hacktoberfest, jackson
Jackson Module Scala
Add-on module for Jackson (https://github.com/FasterXML/jackson) to support Scala-specific datatypes
Stars: ✭ 431 (+339.8%)
Mutual labels:  hacktoberfest, jackson
catnap
Partial JSON response framework for RESTful web services
Stars: ✭ 55 (-43.88%)
Mutual labels:  jax-rs, jackson
spring-rest-2-ts
spring rest 2 ts is typescript generator which produces data model and services in typescript based on Spring MVC annotations. It supports generation for Angular and React
Stars: ✭ 59 (-39.8%)
Mutual labels:  jax-rs, jackson
Jackson Dataformats Text
Uber-project for (some) standard Jackson textual format backends: csv, properties, yaml (xml to be added in future)
Stars: ✭ 258 (+163.27%)
Mutual labels:  hacktoberfest, jackson
Jackson Modules Java8
Set of support modules for Java 8 datatypes (Optionals, date/time) and features (parameter names)
Stars: ✭ 312 (+218.37%)
Mutual labels:  hacktoberfest, jackson
Jackson Databind
General data-binding package for Jackson (2.x): works on streaming API (core) implementation(s)
Stars: ✭ 2,959 (+2919.39%)
Mutual labels:  hacktoberfest, jackson
Jackson
Main Portal page for the Jackson project
Stars: ✭ 7,066 (+7110.2%)
Mutual labels:  hacktoberfest, jackson
Typescript Generator
Generates TypeScript from Java - JSON declarations, REST service client
Stars: ✭ 729 (+643.88%)
Mutual labels:  jax-rs, jackson
Jackson Module Kotlin
Module that adds support for serialization/deserialization of Kotlin (http://kotlinlang.org) classes and data classes.
Stars: ✭ 830 (+746.94%)
Mutual labels:  hacktoberfest, jackson
Iptables
Development repository for Chef Cookbook iptables
Stars: ✭ 96 (-2.04%)
Mutual labels:  hacktoberfest
Greeter
Login and Lock Screen greeter for elementary OS and Pantheon, using LightDM
Stars: ✭ 96 (-2.04%)
Mutual labels:  hacktoberfest
Yum
Development repository for yum cookbook
Stars: ✭ 96 (-2.04%)
Mutual labels:  hacktoberfest
Lax
IRC client built with Electron & React
Stars: ✭ 95 (-3.06%)
Mutual labels:  hacktoberfest
Awesome Redwood
A community-driven collection of Redwood related plugins, config, themes, build scripts, tutorials, podcasts, and more.
Stars: ✭ 98 (+0%)
Mutual labels:  hacktoberfest
Conference Hall
📣 An open SaaS platform to manage call for papers
Stars: ✭ 97 (-1.02%)
Mutual labels:  hacktoberfest
Sharedchamber
Android Secure SharedPreferences Using Facebook Conceal Encryption
Stars: ✭ 96 (-2.04%)
Mutual labels:  hacktoberfest

Overview

This is a multi-module project that contains Jackson-based JAX-RS providers for following data formats:

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

Status

Build Status Maven Central Javadoc Tidelift

Maven dependency

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

<dependency>
  <groupId>com.fasterxml.jackson.jaxrs</groupId>
  <artifactId>jackson-jaxrs-json-provider</artifactId>
  <version>2.12.0</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 JAX-RS implementation discover provider. If this does not work you need to consult documentation of the JAX-RS implementation for details.

Here are some links that may help:

Usage: registering supporting datatypes module

Starting with Jackson 2.8, there is a small supporting datatype module, jackson-datatype-jaxrs (see under datatypes/). It will not be auto-registered automatically (unless user calls ObjectMapper.findAndRegisterModules()); instead, user has to register it by normal means:

ObjectMapper mapper = JsonMapper.builder()
    .addModule(new Jaxrs2TypesModule())
    .build();

and ensuring that configured mapper is used by JAX-RS providers.

It is possible that later versions of providers may offer additional ways to get datatype module registered.

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:

  • @JsonView can be used to define active view for specific endpoint
  • @JsonRootName can be used to specify alternate rootname; most often used with XML, but possibly with JSON as well.
  • @JacksonAnnotationsInside meta-annotation may be used as a marker, to create "annotation bundles", similar to how they are used with value type annotations
  • com.fasterxml.jackson.jaxrs.annotation.JacksonFeatures can be used with all provid to enable/disable
    • SerializationFeature / DeserializationFeature for data-binding configuration
    • JsonParser.Feature / JsonGenerator.Feature for low(er) level Streaming read/write options

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

  • JSON has:
    • com.fasterxml.jackson.jaxrs.json.annotation.JSONP to define JSONP wrapping for serialized result

Module Considerations

  • The JSON/JAX-RS module has multiple names depending on the version in use. To enable modular usage, add the requires statement that pertains directly to the implementation you are using.
requires  javax.ws.rs.api; //Older libraries
requires  java.ws.rs; //Newer libraries
requires  jakarta.ws.rs; //Reserved name for Jakarta API
requires  jakarta.ws.rs.api; //Reserved name for Jakarta Impl

Using Jakarta

A note on compatibility of JAXB annotations module, Jakarta 3.0 API libraries for JAXB: with Jackson 2.12, Jakarta versions can be referenced for the JAXB module by using the classifier "jakarta" in your dependency

<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json</artifactId>
    <classifier>jakarta</classifier>
</dependency>

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

Available as part of the Tidelift Subscription.

The maintainers of jackson-jaxrs-providers and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. Learn more.


Other

For documentation, downloads links, check out Wiki

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].