Class Notes: RESTful API Design
1. Principles of REST
- Statelessness, client-server separation
- Uniform interface, resource-based
2. HTTP Methods
- GET, POST, PUT, DELETE, PATCH
- Idempotency, safe vs unsafe methods
3. Resource Modeling
- URI design: nouns, hierarchy
- Versioning strategies
4. Status Codes
- 2xx Success, 4xx Client errors, 5xx Server errors
- Use of 201 Created, 204 No Content
5. Authentication & Security
- OAuth 2.0, JWT tokens
- HTTPS, rate limiting
6. Documentation Tools
- OpenAPI (Swagger), API Blueprint
References:
- "RESTful Web APIs" by Richardson & Ruby
- OpenAPI Specification