Warning before we start
- REST!= MVC
- Donot think in controllers, IDs, actions, models, views, plugins, helpers…
- In fact, do not think about implementationat all!
Definition
REST is a coordinated set of architectural constraints that attempts to minimize latency and network communication while at the same time maximizing their dependence and scalability of component implementations. This is achieved by placing constraints on connector semantics where other styles have focused on component semantics.
REST enables the caching and reuse of interactions, dynamic substitutability of components, and processing of actions by intermediaries, thereby meeting then needs of an Internet-scale distributed hypermedia system.
- Resource-Oriented Architecture – REST (Representational State Transfer)
- The Human-Readable Web
- URI + HTTP + HTML
- URI + HTTP + Links
- URI + HTTP + Hypermedia
- Resource based, rather than service based
- REST means using fundamental web technologies idiomatically as the basis for designing web services
- HTTP is just one (very popular) instance of the REST architecture, you can use REST without HTTP.
- REST is about defining a uniform interface
- REST is not a standard
- REST is not a protocol
- REST is an architectural style for networked applications
- REST defines a set of simple principles (loosely followed by most API implementations)
Principles of REST
|
Advantages of REST
|
What Makes a Service RESTful?
Ifthe HTTP method doesn’t match the method information, the service isn’tRESTful. If the scoping information isn’t in the URI, the service isn’tresource-oriented. These aren’t the only requirements, but they’re good rules of thumb.