The rise of Mobile and the diversity its technologies make exposing a RESTfull API the most crucial capability of any application and the key to its success. In the absence of widely adopted best practices and well-defined conventions, designing such an API is nothing but trivial. This presentation introduces the fundamentals of REST architecture, and discusses the principles of RESTfull design. Among the topics covered: resource modeling (URI design, and HTTP verbs/status code canonical usage), multiple representation support, testing, cache control, security (Http and OAuth), and API versioning. HATEOAS and REST maturity model are also discussed, along with an implementation of a sample API in JAX-RS and Spring MVC. No prior knowledge REST is required.
* What is REST?
* Resource Modeling
- URI Design
- HTTP verbs and CRUD operation
- HTTP response status code and error handeling
* Multiple representation of data and Media types
- JSON vs XML
- Usage of query strings (Filtering, exclusion/inclusion list, etc...)
* Why REST?
* Richardson's REST Maturity Model
- Security (HTTP Basic/Digest, SSL, OAuth)
*Testing RESTfull APIs
- Code Example
* Test the REST
* Q & A