REST Architectural Constraints

REST APIs must adhere to six constraints: Client-Server, Stateless, Cacheable, Uniform Interface, Layered System, and Code on Demand (optional).

API Design Patterns

Pattern Implementation Benefits
Resource Naming Plural nouns, /users/123 Intuitive, consistent
Pagination Limit/offset, cursor-based Performance, UX
Filtering Query parameters, ?status=active Flexibility
Versioning URL path, Accept header Backward compatibility
Error Handling Consistent error format Debugging, UX
Rate Limiting Headers, 429 status Protection, fairness

OpenAPI Specification Example

openapi: 3.0.0
paths:
  /users:
    get:
      parameters:
        - name: limit
          in: query
          schema:
            type: integer
          responses:
            '200':
              description: OK