REST
REST is an architectural style that is commonly used in web applications with the HTTP protocol. It relies on stateless client-server cacheable communications. RESTful applications use HTTP requests to work with (create, read, update, delete) data on a server using the HTTP methods. REST is not a standard, but it is now so common that you are very likely to encounter APIs that follow this style while developing your own applications and you may use a framework that enables you to provide a RESTful API to your own application. It is important to understand the principles behind REST, to understand why it is so commonly used and learn how to interact with external RESTful services in your own applications.
Goals/Objectives/Outcomes
- Understand the basic principles behind REST
- Understand what CRUD means and how HTTP methods are used to do CRUD operations on data via a RESTful API
- Understand how to interact with external RESTful services using command line or browser based tools
- Understand how to provide a RESTful API within your own application
Reference Material
- https://en.wikipedia.org/wiki/Representational_state_transfer
- http://rest.elkstein.org/
- http://www.restapitutorial.com/lessons/whatisrest.html
- http://searchsoa.techtarget.com/definition/REST
- https://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm
Measures of Success
- Participant can articulate the principles behind the REST architecture style
- Participant can articulate how CRUD operations are perfomed using HTTP methods
- Participant has demonstrated the ability to interact with external RESTful services
- Participant has implemented a RESTful API in their own application.