Course Content
Introduction to REST
- REST and the Rebirth of HTTP
- RESTful Architectural Principles
Designing RESTful Services
- The Object Model
- Model the URIs
- Defining the Data Format
- Assigning HTTP Methods
Your First JAX-RS Service
- Developing a JAX-RS RESTful Service
- Deploying Our Service
HTTP Method and URI Matching
- Binding HTTP Methods
- @Path
- Subresource Locators
JAX-RS Injection
- The Basics
- @PathParam
- @MatrixParam
- @QueryParam
- @FormParam
- @HeaderParam
- @CookieParam
- Common Functionality
JAX-RS Content Handlers
- Built-in Content Marshalling
- JAXB
- Custom Marshalling
Response Codes, Complex Responses, and Exception Handling
- Default Response Codes
- Complex Responses
- Exception Handling
HTTP Content Negotiation
- Conneg Explained
- Language Negotiation
- Encoding Negotiation
- JAX-RS and Conneg
- Leveraging Content Negotiation
HATEOAS
- HATEOAS and Web Services
- HATEOAS and JAX-RS
Scaling JAX-RS Applications
- Caching
- Concurrency
Deployment and Integration
- Deployment
- Configuration
- EJB Integration
- Spring Integration
Securing JAX-RS
- Authentication
- Authorization
- Authentication and Authorization in JAX-RS
RESTful Java Clients
- java.net.URL
- Apache HttpClient
- RESTEasy Client Framework
- RESTEasy Client Proxies
JAX-RS Implementations
- Jersey
- Apache CXF
- JBoss RESTEasy