JAX-RS Basic Concepts
JAX-RS (JSR 311) is the latest JCP specification that provides a Java based API for REST Web services over the HTTP protocol. The JAX-RS specification is an annotation based server side API.
Applying JAX-RS to Apache Wink
Apache Wink is an implementation of the JAX-RS specification, providing a rich set of features and expansions that extend and supplement the JAX-RS specification. Apache Wink is designed to be an easy to use, production quality and efficient implementation.
The Apache Wink architecture enables the incorporation of custom functionality via the use of handlers that provide for the manipulation of requests, Apache Wink also provides a powerful client module for the consumption of REST web services and is bundled with a range of built-in Providers that enable the developer to quickly implement applications that make use of industry standard formats such as XML, ATOM, APP, RSS, JSON, CSV, HTML.
Developing REST Applications
For those new to JAX-RS or developing REST applications, follow this in-progress developer guide. If you have comments or questions, send an e-mail to the appropriate Apache Wink mailing lists.
While this developer guide covers common scenarios, it is not intended to detail the JAX-RS specification itself. Please read the (brief yet understandable) specification if it is available to you.
Getting Started - A Simple JAX-RS Application
- Creating a Resource
- Creating a javax.ws.rs.core.Application sub-class
- Packaging Apache Wink with a Web Application
- Installation and Running the Application
Application Configuration
- javax.ws.rs.core.Application subclass
- Container environment information
Resources, HTTP Methods, and Paths
- Root Resource Methods
- javax.ws.rs.core.Response
- HTTP Methods
- Subresource Methods
- Subresource Locators
- Regular Expressions
Request and Response Entities (Message Bodies) and Media Types
- Produces/Consumes annotations
- ATOM
- XML
- JSON
- Standard Entity Parameter Types
- Custom application provided Message Body Readers/Writers
- Transfer Encoding
- Content Encoding
Parameters
HTTP Headers
Content Negotiation
Using Request Context Information
Caching
- Expires
- Cache-Control