1.1. Creating a New Project from Maven Archetype1.2. Exploring the Newly Created Project1.3. Running the Project1.4. Creating a JavaEE Web Application1.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 Compatibility2.2. Introduction to Jersey dependencies2.3. Common Jersey Use Cases
2.3.1. Servlet based application on Glassfish2.3.2. Servlet based server-side application2.3.3. Client application on JDK2.3.4. Server-side application on supported containers
2.4. List of modules
3. JAX-RS Application, Resources and Sub-Resources
3.2. Parameter Annotations (@*Param)3.3. Sub-resources3.4. Life-cycle of Root Resource Classes3.5. Rules of Injection3.6. Use of @Context3.7. Programmatic resource model
4. Application Deployment and Runtime Environments
4.1. Introduction4.2. JAX-RS Application Model4.3. Auto-Discoverable Features
4.8.1. Managed Beans4.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 Glassfish4.9.2. WAB Example4.9.3. HTTP Service Example
4.10. Other Environments
4.10.1. Oracle Java Cloud Service
5. Client API
5.1. Uniform Interface Constraint5.2. Ease of use and reusing JAX-RS artifacts5.3. Overview of the Client API
5.3.1. Getting started with the client API5.3.2. Creating and configuring a Client instance5.3.3. Targeting a web resource5.3.4. Identifying resource on WebTarget5.3.5. Invoking a HTTP request5.3.6. Example summary
5.4. Java instances and types for representations
5.4.1. Adding support for new representations
5.5. Client Transport Connectors5.6. Using client request and response filters5.7. Closing connections5.8. Injections into client providers5.9. Securing a Client
5.9.1. Http Authentication Support
6. Reactive Jersey Client API
6.1. Motivation for Reactive Client Extension6.2. Usage and Extension Modules6.3. Supported Reactive Libraries
6.3.1. RxJava (Observable)6.3.2. Java 8 (CompletionStage and CompletableFuture)6.3.3. Guava (ListenableFuture and Futures)6.3.4. JSR-166e (CompletableFuture)
6.4. Implementing Support for Custom Reactive Libraries (SPI)6.5. Examples
7. Representations and Responses
7.1. Representations and Java Types7.2. Building Responses7.3. WebApplicationException and Mapping Exceptions to Responses7.4. Conditional GETs and Returning 304 (Not Modified) Responses
8. JAX-RS Entity Providers
8.1. Introduction8.2. How to Write Custom Entity Providers
8.2.1. MessageBodyWriter8.2.2. MessageBodyReader
8.3. Entity Provider Selection8.4. Jersey?MessageBodyWorkers?API8.5. Default Jersey Entity Providers
9. Support for Common Media Type Representations
9.1. JSON
9.1.1. Approaches to JSON Support9.1.2. MOXy9.1.3. Java API for JSON Processing (JSON-P)9.1.4. Jackson (1.x and 2.x)9.1.5. Jettison9.1.6.?@JSONP?– JSON with Padding Support
9.2. XML
9.2.1. Low level XML support9.2.2. Getting started with JAXB9.2.3. POJOs9.2.4. Using custom JAXBContext9.2.5. MOXy
9.3. Multipart
9.3.1. Overview9.3.2. Client9.3.3. Server
10. Filters and Interceptors
10.1. Introduction10.2. Filters
10.2.1. Server filters10.2.2. Client filters
10.3. Interceptors10.4. Filter and interceptor execution order10.5. Name binding10.6. Dynamic binding10.7. Priorities
12.1. Building URIs12.2. Resolve and Relativize12.3. Link
13. Declarative Hyperlinking
13.1. Dependency13.2. Links in Representations13.3. Binding Template Parameters13.4. Conditional Link Injection13.5. List of Link Injection13.6. Link Headers13.7. Prevent Recursive Injection13.8. Configure and register
14. Programmatic API for Building Resources
14.1. Introduction14.2. Programmatic Hello World example
14.2.1. Deployment of programmatic resources
14.3. Additional examples14.4. Model processors
15. Server-Sent Events (SSE) Support
15.1. What are Server-Sent Events15.2. When to use Server-Sent Events15.3. Jersey Server-Sent Events API15.4. Implementing SSE support in a JAX-RS resource
15.4.1. Simple SSE resource method15.4.2. Broadcasting with Jersey SSE
19.1. Enabling and configuring Entity Filtering in your application19.2. Components used to describe Entity Filtering concepts19.3. Using custom annotations to filter entities
19.4. Role-based Entity Filtering using (javax.annotation.security) annotations19.5. Entity Filtering based on dynamic and configurable query parameters19.6. Defining custom handling for entity-filtering annotations19.7. Supporting Entity Data Filtering in custom entity providers or frameworks19.8. Modules with support for Entity Data Filtering19.9. Examples
20.5. Registration and Configuration20.6. Supported templating engines
20.6.1. Mustache20.6.2. Freemarker20.6.3. JSP
20.7. Writing Custom Templating Engines20.8. Other Examples
21. Logging
21.1. Logging traffic
21.1.1. Introduction21.1.2. Configuration and registering
22. Monitoring and Diagnostics
22.1. Monitoring Jersey Applications
22.1.1. Introduction22.1.2. Event Listeners
22.2. Tracing Support
22.2.1. Configuration options22.2.2. Tracing Log22.2.3. Configuring tracing support via HTTP request headers22.2.4. Format of the HTTP response headers22.2.5. Tracing Examples
28.15.1. Guava and ASM have been embedded28.15.2. Deprecated APIs28.15.3. Removed deprecated APIs
28.16. Migrating from Jersey 2.5 to 2.5.128.17. Migrating from Jersey 2.4.1 to 2.5
28.17.1. Client-side API and SPI changes28.17.2. Other changes
28.18. Migrating from Jersey 2.4 to 2.4.128.19. Migrating from Jersey 2.3 to 2.428.20. Migrating from Jersey 2.0, 2.1 or 2.2 to 2.328.21. Migrating from Jersey 1.x to 2.0
28.21.1. Server API28.21.2. Migrating Jersey Client API28.21.3. JSON support changes
A. Configuration Properties
A.1. Common (client/server) configuration propertiesA.2. Server configuration propertiesA.3. Servlet configuration properties