This course shows experienced Java programmers how to build RESTful web services using the Java API for RESTful Web Services, or JAX-RS. We first overview the key concepts of REST -- ultimately the thorough and thoughtful use of URLs, HTTP methods, and media types to design and implement scalable and maintainable enterprise services. Then we dive into the elegant JAX-RS standard for building RESTful services, learning how to manage URLs and URL patterns and methods, how to bind input and control response production, and how to manage HTTP entities in popular content types such as XML and JSON.
From here students investigate intermediate features including dependency injection, error handling, and JSR-303 validation, and use Java generics to implement patterns for common operations over an application's domain classes. We explore sub-resources, the JAX-RS client API, filters and interceptors, and testing techniques, before closing with a summary chapter on REST security that includes implementations of HTTP BASIC security and HMAC signatures.