Book Image

Developing RESTful Web Services with Jersey 2.0

By : Sunil Gulabani
Book Image

Developing RESTful Web Services with Jersey 2.0

By: Sunil Gulabani

Overview of this book

<p>JAX-RS 2.0 is an enhanced framework based on RESTful architecture. It provides support for both the client and the server. Jersey 2.0 is the reference implementation of JAX-RS 2.0 (JSR 339 specification). This framework has undergone major revisions. The enhanced framework helps developers to use a low-level and simplified API.</p> <p>This practical, hands-on guide will help you to create RESTful web services easily with individual aspects of the application requests. It will enable you to learn and implement RESTful web services using the new features included in JAX-RS 2.0. It’s a jump start for those who want to try their hand at the new API. It aims to provide practical knowledge of the API along with detailed understanding.</p> <p>This book covers the new features of JAX-RS 2.0. It covers the complete lifecycle of a web service, that is, from server side to client side. The book focuses on the server API and the client API.</p> <p>You will learn how to use the server API in order to create web services that will be deployed on the server. This has all different implementations of HTTP methods and media representations. You will also get acquainted with the client API which specifies how to consume the deployed application’s web services. This includes how to handle different HTTP methods and media representations in response to the web services.</p> <p>You will also get to know Server Sent Events (SSE), which the server uses to push the data event directly to the client. The book will finally take you through the WADL specification. By the end of the book, you will be well equipped to implement Jersey 2.0 and JAX-RS.</p>
Table of Contents (13 chapters)

JSON


JSON is a lightweight format used to traverse the network. It is easy to parse and generate a JSON format from POJOs and Java types. The following modules are supported by Jersey JSON:

  • MOXy

  • Java API for JSON Processing (JSON-P)

  • Jackson

  • Jettison

Let's look at each in turns.

MOXy

The MOXy component allows developers to bind POJOs to XML or JSON formats. It automatically formats data without any explicit configuration. This MOXy feature is automatically discovered when you add the jersey-media module in an application. MOXy combines with JAXB and manages to convert data to and fro. Let's check how we can use MOXy in our application:

public class App extends ResourceConfig {
    public App() {
        packages("com.chapter4").register
        (new JsonMoxyConfigurationContextResolver());
    }

    @Provider
    final static class JsonMoxyConfigurationContextResolver 
    implements ContextResolver<MoxyJsonConfig> {

        @Override
        public MoxyJsonConfig getContext(Class<?...