Understand Core Concepts
REST (Representational State Transfer) is an architectural style for building scalable web APIs. Read Roy Fielding's dissertation (Chapter 5) and restfulapi.net.
Key Principles (6 Constraints):
- Uniform Interface: Use URIs for resources, representations for manipulation, self-descriptive messages, HATEOAS (hypermedia).
- Client-Server: Separate concerns for independent evolution.
- Stateless: Each request contains all info; no server sessions.
- Cacheable: Label responses for caching.
- Layered System: Clients see only next layer.
- Code on Demand (optional): Server sends executable code.
Resources are identified by URIs (e.g., /users/123), represented in JSON/XML.
Visit restfulapi.net and Fielding's dissertation.