Core move: HTTP methods are verbs. One resource /orders, method says action:
GET /orders → list orders (safe, cacheable)
POST /orders → create an order (returns 201 + Location)
GET /orders/42 → fetch one order (safe, cacheable)
PUT /orders/42 → replace order 42 (idempotent)
PATCH /orders/42 → partial update
DELETE /orders/42 → delete order 42 (idempotent)
GET /orders/42/items → the order's line items (nested resource)
Payoff — uniformity: clients guess behavior; HTTP ecosystem (cache, CDN) understands GET is safe.
You're mapping domain onto HTTP's existing rules.
Итог
Good REST boring and predictable; chattiness signals time for BFF/GraphQL.
проектирование REST API: ментальная модель · Sobeso