PART 2: REST APIs (The Real Game)

Great πŸ‘
Here is PART 2 – REST APIs, written in the same ultra-easy, 80–20, beginner-first style:
πŸ‘‰ real websites, real thinking, minimum words, maximum clarity, emojis everywhere.


πŸ“˜ Web API — Part 2

REST APIs (The Real Game – 80–20)


🌍 INTRO: Why REST Exists (Real Life First)

πŸ€” Problem before REST

Earlier:

  • Different rules for every API ❌

  • XML, SOAP, heavy formats ❌

  • Hard to understand & slow ❌

πŸ’‘ REST fixed this

REST gave simple rules so that:

  • Any developer can understand any API

  • Any language can talk to any server

πŸ“Œ That’s why 90% APIs today are REST APIs


🧠 What is REST? (One-Line)

REST is a way to design APIs using simple URLs, HTTP methods, and JSON.


🏒 Real Websites Using REST

WebsiteREST Example
Naukri/jobs, /companies
Amazon/products, /orders
Paytm/payments, /transactions
Instagram/users, /posts

πŸ“Œ If URL looks clean → mostly REST API


πŸ”‘ Core Idea of REST (Think in NOUNS)

❌ Not this:

/getJobs
/addJob
/deleteJob

✅ This:

/jobs
/jobs/123

πŸ‘‰ REST thinks in resources (nouns)
πŸ‘‰ Actions come from HTTP methods


1️⃣ Resources & Endpoints (Most Important)

πŸ“¦ Resource = Data Thing

  • users

  • jobs

  • products

  • orders

πŸ”— Endpoint = URL of resource

/api/jobs

🧾 REST CRUD Mapping

ActionMethodEndpoint
Read allGET/jobs
Read oneGET/jobs/5
CreatePOST/jobs
UpdatePUT/jobs/5
DeleteDELETE/jobs/5

πŸ“Œ Same URL, different method = different action


2️⃣ Stateless APIs (Simple Meaning)

🧠 Stateless = Server doesn’t remember you

Each request must have:

  • All required data

  • Authentication token

❌ Server memory
✅ Client responsibility


🏧 ATM Example

Every time you:

  • Insert card πŸ’³

  • Enter PIN πŸ”

ATM doesn’t remember you from last time.

πŸ‘‰ That’s REST


3️⃣ JSON as Default Language

REST APIs mostly use JSON.

πŸ“¦ Example Response

{
  "job": "UP Police",
  "salary": 81000,
  "location": "Bihar"
}

πŸ“Œ Human-readable
πŸ“Œ Language-independent
πŸ“Œ Fast


4️⃣ Designing Clean REST URLs

❌ Bad URLs

/getAllJobs
/deleteJobById

✅ Good REST URLs

/jobs
/jobs/12

πŸ“Œ URL Rules (Remember These Only)

RuleExample
Use nouns/jobs
Use plural/users
No verbs❌ /getUsers
Use ID/jobs/5

5️⃣ Path Params vs Query Params (Crystal Clear)

πŸ“ Path Param → Specific item

/jobs/10

πŸ‘‰ Job ID = 10


πŸ” Query Param → Filter/search

/jobs?city=patna&salary=50000

πŸ‘‰ Search jobs


🧠 Thumb Rule

  • Path = “Which one?”

  • Query = “Filter it”


6️⃣ Pagination, Filtering & Sorting (Real World)

πŸ“š Pagination (Big Data Handling)

/jobs?page=1&limit=10

πŸ“Œ Never return 10,000 records ❌
πŸ“Œ Always paginate ✅


πŸ” Filtering

/jobs?state=bihar

πŸ”ƒ Sorting

/jobs?sort=salary_desc

7️⃣ API Versioning (Life Saver)

πŸ€• Problem

If API changes → old apps break ❌

πŸ’Š Solution

Version your API


✅ Simple Versioning

/api/v1/jobs
/api/v2/jobs

πŸ“Œ This is enough for 80% cases


🧠 Complete Real-Life REST Example

🎯 Case: Job Listing Website

πŸ”— Request

GET /api/v1/jobs?city=patna&page=1

πŸ“¦ Response

{
  "page": 1,
  "total": 120,
  "data": [
    {
      "title": "UP Police",
      "salary": 81000
    }
  ]
}

🎨 Frontend shows:

  • Job name

  • Salary

  • Location

User clicks → applies πŸ’ΌπŸ˜Š


⚠️ Common REST Mistakes (Avoid These)

❌ Verbs in URLs
❌ No pagination
❌ No versioning
❌ Inconsistent naming


🧠 PART 2 – ONE-PAGE SUMMARY (80–20)

  • REST = design style, not technology

  • Resources = nouns

  • HTTP methods = actions

  • URLs must be clean

  • JSON everywhere

  • Version your API


πŸš€ After Part 2, You Can:

✔ Design clean APIs
✔ Read any REST API doc
✔ Avoid beginner mistakes
✔ Prepare for interviews


πŸ”œ Coming Next (Part 3)

CRUD + Database (Real Job Skill)
πŸ‘‰ Create, update, delete data
πŸ‘‰ API + DB flow
πŸ‘‰ Real-world examples

Say “Next Part” and we continue πŸ”₯

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.