Skip to content

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.