Resource as Primary Abstraction¶
APIs become more intuitive and stable when organized around domain entities (nouns) rather than operations (verbs), because resources map to how humans conceptualize the problem domain.
Tension Addressed¶
Generality vs. Usability
Recognizable As¶
URLs containing nouns (/users, /orders), objects with identifiers, entities that can be created/read/updated/deleted; contrast with RPC-style verb-centric endpoints (/getUserById, /createOrder)
Canonical Sources¶
Fielding, "Architectural Styles and the Design of Network-based Software Architectures" (2000); Richardson & Ruby, "RESTful Web Services" (2007)
Transfers To¶
Database design (entities), Domain-driven design (aggregates), File systems (paths as resources), Object-oriented design (objects as resources)
Resource-oriented design emerged from REST but applies universally: even GraphQL organizes around types (resources) with fields and relationships. The insight is that stable nouns outlast volatile operations.