Richardson Maturity Model (RMM) は、API がどれだけ「RESTful」かを 4 つのレベルで採点し、HATEOAS はその最上位 — ほとんどの人が飛ばす制約 — です。
4 つのレベル
レベル 0 — 「POX の沼」: 1 つの URI、1 つの method (HTTP 上の RPC)。
POST /api { "action": "getUser", "id": 42 }
レベル 1 — Resources: 多数の URI、ただし依然として 1 つの動詞。
POST /users/42 , POST /users/42/delete
レベル 2 — HTTP Verbs: 適切な method + status code (ほとんどの「REST」API はここ)。
GET /users/42 → 200 , DELETE /users/42 → 204
レベル 3 — Hypermedia Controls (HATEOAS): response が次にできることへリンクする。
ほとんどの production「REST」API は — 正しいリソース、method、status code — です。たいていそれで十分で、まったく合理的な目標です。
