🪜
REST Fundamentals

Richardson Maturity Model

REST API Maturity Levels
💡 Richardson Maturity Model, EK "LADDER" hai — HAR STEP (LEVEL), TUMHARI API ko, ZYAADA "TRUE REST" ke KAREEB LE JAATA hai. LEVEL 0 SIRF EK PHONE CALL (EK ENDPOINT, SAB KUCH ISI SE) hai, LEVEL 3, EK FULLY "SELF-DOCUMENTING" GUIDE hai.

Level 0 (SWAMP OF POX) — EK SINGLE URI, EK HI HTTP METHOD (TYPICALLY POST) SE, SAARE OPERATIONS HANDLE hote hain — SOAP jaisा, RPC-STYLE. Level 1 (RESOURCES) — MULTIPLE URIs (HAR RESOURCE ka APNA URI), LEKIN SAB, SAME HTTP METHOD USE karте hain.

Level 2 (HTTP VERBS) — DIFFERENT RESOURCES, DIFFERENT URIs, aur SAHI HTTP METHODS (GET, POST, PUT, DELETE) USE hote hain, PROPER STATUS CODES ke SAATH — MOST REAL-WORLD APIs, ISI LEVEL PAR HAIN. Level 3 (HYPERMEDIA/HATEOAS) — RESPONSE mein, "AGLE POSSIBLE ACTIONS" ke LINKS, INCLUDED hote hain — TRUE REST, ISI LEVEL PAR hai.

// Level 1 — resources, LEKIN, GALAT verb usage:
// POST /users/getUser/42

// Level 2 — MOST COMMON, real-world APIs:
// GET /users/42 → 200 OK
// DELETE /users/42 → 204 No Content

// Level 3 — HATEOAS ke SAATH:
// GET /orders/42 → {
//   "id": 42, "status": "PENDING",
//   "_links": {
//     "cancel": { "href": "/orders/42/cancel" },
//     "pay": { "href": "/orders/42/pay" }
//   }
// }
🪜
Richardson Maturity Model, EK "LADDER" hai — HAR STEP (LEVEL), TUMHARI API ko, ZYAADA "TRUE REST" ke KAREEB LE JAATA hai. LEVEL 0 SIRF EK PHONE CALL (EK ENDPOINT, SAB KUCH ISI SE) hai, LEVEL 3, EK FULLY "SELF-DOCUMENTING" GUIDE hai.
1 / 2
⚡ Quick Recap
  • Level 0 = single endpoint, RPC-style
  • Level 1 = resources, LEKIN galat verb usage
  • Level 2 = proper HTTP verbs + status codes (MOST common)
  • Level 3 = HATEOAS, hypermedia links (true REST)
On this page (2 subtopics)

Level 0 API ki, PEHCHAAN — EK, SINGLE, ENDPOINT (jaise /api), aur, POST BODY mein, "action": "getUser" jaisa, EK FIELD, BATATA hai, KYA OPERATION, PERFORM karna hai — HTTP METHODS/STATUS CODES, MEANINGFULLY, USE NAHI hote (SAB, 200 OK RETURN karta hai, CHAHE, ERROR HI KYUN NA HO).

⚠️Common Mistake: Level 0 APIs, "REST" KEHLATE hain, LEKIN, ACTUALLY, RPC (Remote Procedure Call) STYLE hain — YE, EK COMMON, ANTI-PATTERN hai, INTERVIEW mein, PEHCHANNA, IMPORTANT hai.

HATEOAS, EXTRA, DEVELOPMENT EFFORT, MANGТА hai (LINKS, GENERATE/MAINTAIN karna), aur, MOST, INTERNAL/SIMPLE APIs mein, KOI TANGIBLE BENEFIT NAHI DETA — CLIENTS, AKSAR, DOCUMENTATION SE, HI, URLs, HARDCODE KAR LETE hain, HATEOAS LINKS, FOLLOW KARNE ke, BAJAYE.

💡Tip: HATEOAS, TAB, ZYAADA, VALUABLE hai, JAB, API, TRULY, EVOLVE HOGI (URLs, CHANGE HONGE), aur, CLIENTS, KO, ADAPT karna PADEGA, BINA, CODE CHANGES ke.