Links: Table of Contents | Single HTML

Jersey 2.47 User Guide


Table of Contents

Preface
1. Getting Started
1.1. Creating a New Project from Maven Archetype
1.2. Exploring the Newly Created Project
1.3. Running the Project
1.4. Creating a JavaEE Web Application
1.5. Creating a Web Application that can be deployed on Heroku
1.5.1. Deploy it on Heroku
1.6. Exploring Other Jersey Examples
2. Modules and dependencies
2.1. Java SE Compatibility
2.1.1. Virtual Threads and Thread Factories
2.2. Introduction to Jersey dependencies
2.3. Common Jersey Use Cases
2.3.1. Servlet based application on Glassfish
2.3.2. Servlet based server-side application
2.3.3. Client application on JDK
2.3.4. Server-side application on supported containers
2.4. List of modules
3. JAX-RS Application, Resources and Sub-Resources
3.1. Root Resource Classes
3.1.1. @Path
3.1.2. @GET, @PUT, @POST, @DELETE, ... (HTTP Methods)
3.1.3. @Produces
3.1.4. @Consumes
3.2. Parameter Annotations (@*Param)
3.3. Sub-resources
3.4. Life-cycle of Root Resource Classes
3.5. Rules of Injection
3.6. Use of @Context
3.7. Programmatic resource model
4. Application Deployment and Runtime Environments
4.1. Introduction
4.2. JAX-RS Application Model
4.3. Auto-Discoverable Features
4.3.1. Configuring Feature Auto-discovery Mechanism
4.4. Configuring the Classpath Scanning
4.5. Java SE Deployment Environments
4.5.1. HTTP servers
4.6. Creating programmatic JAX-RS endpoint
4.7. Servlet-based Deployment
4.7.1. Servlet 2.x Container
4.7.2. Servlet 3.x Container
4.7.3. Jersey Servlet container modules
4.8. Java EE Platform
4.8.1. Managed Beans
4.8.2. Context and Dependency Injection (CDI)
4.8.3. Enterprise Java Beans (EJB)
4.8.4. Java EE Servers
4.9. OSGi
4.9.1. Enabling the OSGi shell in Glassfish
4.9.2. WAB Example
4.9.3. HTTP Service Example
4.10. Other Environments
4.10.1. Oracle Java Cloud Service
5. Client API
5.1. Uniform Interface Constraint
5.2. Ease of use and reusing JAX-RS artifacts
5.3. Overview of the Client API
5.3.1. Getting started with the client API
5.3.2. Creating and configuring a Client instance
5.3.3. Targeting a web resource
5.3.4. Identifying resource on WebTarget
5.3.5. Invoking a HTTP request
5.3.6. Example summary
5.3.7. Setting ExecutorService and ScheduledExecutorService
5.4. Java instances and types for representations
5.4.1. Adding support for new representations
5.5. Client Transport Connectors
5.5.1. The default HttpUrlConnector
5.5.2. Client Connectors Properties
5.5.3. Applying additional settings to Connectors
5.6. Using client request and response filters
5.7. Closing connections
5.8. Injections into client providers
5.9. Securing a Client
5.9.1. Http Authentication Support
5.9.2. Server Name Indication (SNI) Support
5.10. InvocationInterceptors
5.10.1. PreInvocationInterceptor
5.10.2. PostInvocationInterceptor
5.11. InvocationBuilderListener
5.12. Header Expect:100-continue support
6. Reactive JAX-RS Client API
6.1. Motivation for Reactive Client Extension
6.2. Usage and Extension Modules
6.3. Supported Reactive Libraries
6.3.1. RxJava (Observable)
6.3.2. RxJava (Flowable)
6.3.3. Guava (ListenableFuture and Futures)
6.4. Implementing Support for Custom Reactive Libraries (SPI)
7. Representations and Responses
7.1. Representations and Java Types
7.2. Building Responses
7.3. WebApplicationException and Mapping Exceptions to Responses
7.4. Conditional GETs and Returning 304 (Not Modified) Responses
8. JAX-RS Entity Providers
8.1. Introduction
8.2. How to Write Custom Entity Providers
8.2.1. MessageBodyWriter
8.2.2. MessageBodyReader
8.3. Entity Provider Selection
8.4. Jersey MessageBodyWorkers API
8.5. Default Jersey Entity Providers
9. Support for Common Media Type Representations
9.1. JSON
9.1.1. Approaches to JSON Support
9.1.2. MOXy
9.1.3. Java API for JSON Processing (JSON-P)
9.1.4. Jackson (1.x and 2.x)
9.1.5. Jettison
9.1.6. @JSONP - JSON with Padding Support
9.1.7. Java API for JSON Binding (JSON-B)
9.1.8. Properties for configuring JSON providers
9.2. XML
9.2.1. Low level XML support
9.2.2. Getting started with JAXB
9.2.3. POJOs
9.2.4. Using custom JAXBContext
9.2.5. MOXy
9.2.6. Properties for configuring XML providers
9.3. Multipart
9.3.1. Overview
9.3.2. Client
9.3.3. Server
9.3.4. Properties for configuring the Multipart
10. Filters and Interceptors
10.1. Introduction
10.2. Filters
10.2.1. Server filters
10.2.2. Client filters
10.3. Interceptors
10.4. Filter and interceptor execution order
10.5. Name binding
10.6. Dynamic binding
10.7. Priorities
11. Asynchronous Services and Clients
11.1. Asynchronous Server API
11.1.1. Asynchronous Server-side Callbacks
11.1.2. Chunked Output
11.2. Client API
11.2.1. Asynchronous Client Callbacks
11.2.2. Chunked input
12. URIs and Links
12.1. Building URIs
12.2. Resolve and Relativize
12.3. Link
13. Declarative Hyperlinking
13.1. Dependency
13.2. Links in Representations
13.3. List of Link Injection