Skip to main content

Command Palette

Search for a command to run...

API#2: REST API के मूल सिद्धांत – HTTP Methods और Status Codes

Updated
•6 min read•View as Markdown
API#2: REST API के मूल सिद्धांत – HTTP Methods और Status Codes

नमस्कार developers! 🙏

पिछले ब्लॉग में हमने सीखा कि API क्या होती है। आज हम सबसे popular प्रकार की API के बारे में बात करेंगे – REST API!


REST क्या है? 🤔

REST का मतलब है Representational State Transfer।
(अरे, technical नाम से डरने की जरूरत नहीं! 😄)

REST एक architectural style है – यानी APIs बनाने का एक सुव्यवस्थित तरीका। यह internet पर काम करता है और HTTP protocol का उपयोग करता है।

आसान उदाहरण – Library 📚

मान लीजिए आपके पास एक library है। आप books पर कुछ operations कर सकते हैं:

  • नई book जोड़ना (Create)

  • Book पढ़ना (Read)

  • Book की जानकारी बदलना (Update)

  • Book हटाना (Delete)

इन चार operations को CRUD (Create, Read, Update, Delete) कहा जाता है – और REST API में भी हम यही करते हैं!


REST = Representational State Transfer का शाब्दिक अर्थ

🅡 R – Representational

Representational का मतलब है
👉 डेटा का असली object नहीं, बल्कि उसका एक रूप (representation)

उदाहरण:

  • Book database में object है

  • API उसे JSON / XML format में भेजती है

👉 यानी API डेटा का representation देती है।

🅢 S – State

State का मतलब है
👉 किसी resource की वर्तमान स्थिति

उदाहरण:

  • Book available है या नहीं

  • Price क्या है

  • Stock में है या नहीं

ये सारी जानकारी उस resource की state होती है।

🅣 T – Transfer

Transfer का मतलब है
👉 उस state को एक system से दूसरे system तक भेजना

उदाहरण:

  • Server → Client (App / Website)

API के ज़रिए यह data network पर भेजा जाता है।


🔁 REST – संपूर्ण अर्थ (Simple Explanation)

REST का मतलब है
👉 Server पर मौजूद resource की वर्तमान स्थिति
एक structured format (JSON/XML) में Client तक भेजने का तरीका

✨ One-Line Summary

REST = Resource की state को representation में network के ज़रिए transfer करना


RESTful API का क्या मतलब है??

RESTful API का मतलब है 👉 ऐसी API जो REST के सभी नियमों को follow करके बनाई गई हो।

आसान शब्दों में: अगर कोई API

  • REST architecture को follow करती है

  • सही HTTP Methods इस्तेमाल करती है

  • Resources के साथ काम करती है

👉 तो उसे RESTful API कहते हैं।


HTTP Methods – आपके Tools 🛠️

REST API में हमें क्या करना है, यह बताने के लिए हम HTTP Methods का उपयोग करते हैं। इसे library के उदाहरण से समझते हैं:

1. GET – जानकारी प्राप्त करें 📖

जैसे आप librarian से कहते हैं:
“मुझे ‘Harry Potter’ की book दिखाओ”

GET /books/1

Response:

{
  "id": 1,
  "title": "Harry Potter",
  "author": "J.K. Rowling",
  "price": 500
}
  • सभी books देखने के लिए: GET /books

  • किसी एक specific book के लिए: GET /books/1

महत्वपूर्ण: GET method कभी भी data को बदलता नहीं है, सिर्फ पढ़ता है।


2. POST – नई जानकारी बनाएं ➕

जैसे आप librarian से कहते हैं:
“Library में नई book add करो”

POST /books

आप भेजते हैं (Request Body):

{
  "title": "Shyamchi Aai",
  "author": "Sane Guruji",
  "price": 200
}

Response:

{
  "id": 2,
  "title": "Shyamchi Aai",
  "author": "Sane Guruji",
  "price": 200,
  "message": "Book successfully added!"
}

3. PUT – पूरी जानकारी बदलें 🔄

जैसे आप कहते हैं:
“Book ID 2 की सारी जानकारी बदल दो”

PUT /books/2

Request:

{
  "title": "Shyamchi Aai - Special Edition",
  "author": "Sane Guruji",
  "price": 250
}

PUT में आपको सभी fields भेजनी होती हैं।


4. PATCH – थोड़ी जानकारी बदलें ✏️

अगर सिर्फ price बदलनी हो:

PATCH /books/2

Request:

{
  "price": 300
}

PATCH में सिर्फ जिन fields में बदलाव करना है, वही भेजते हैं।


5. DELETE – हटाएँ 🗑️

DELETE /books/2

Response:

{
  "message": "Book deleted successfully!"
}

HTTP Status Codes – Server क्या कह रहा है? 💬

जब आप API को request भेजते हैं, तो वह आपको एक status code देता है – जिससे पता चलता है कि क्या हुआ।

2xx – Success! 🎉

  • 200 OK: सब कुछ ठीक रहा (GET, PUT, PATCH)

  • 201 Created: नया resource बन गया (POST)

  • 204 No Content: काम हो गया, लेकिन response में कुछ नहीं (DELETE)

उदाहरण:

आप: GET /books/1
Server: 200 OK + Book की जानकारी

4xx – Client Error (आपकी गलती) 😅

  • 400 Bad Request: गलत data भेजा
POST /books
Body: { "name": "..." } ❌ (title चाहिए था, name नहीं!)
Response: 400 Bad Request
  • 401 Unauthorized: आपने login नहीं किया
GET /my-profile
Response: 401 - "Please login first!"
  • 403 Forbidden: आपके पास permission नहीं है
DELETE /admin/users/5
Response: 403 - "Only admin can delete users!"
  • 404 Not Found: जो माँगा वह नहीं मिला
GET /books/999
Response: 404 - "Book not found!"

5xx – Server Error (Server की गलती) 🔥

  • 500 Internal Server Error: server में कुछ गड़बड़ हो गई

  • 503 Service Unavailable: server अभी available नहीं है

उदाहरण:

GET /books
Response: 500 - "Database connection failed"

REST API के महत्वपूर्ण नियम 📜

1. Stateless होना

हर request स्वतंत्र होती है। Server को आपकी पिछली request याद नहीं रहती।

Request 1: GET /books/1 ✅
Request 2: GET /books/2 ✅ (पहली से कोई संबंध नहीं)

2. Resource-Based URLs

URLs में verbs (क्रियाएँ) नहीं होतीं, सिर्फ nouns (नाम) होते हैं।

गलत ❌:

GET /getBooks
POST /createBook
DELETE /deleteBook

सही ✅:

GET /books
POST /books
DELETE /books/1

3. Consistent Naming

/books            - सभी books
/books/1          - एक specific book
/books/1/reviews  - उस book के reviews
/authors/5/books  - author 5 की सभी books

Practical Example – Student Management 🎓

चलिए एक complete example देखते हैं:

सभी students देखें:

GET /students
Response: 200 OK
[
  {"id": 1, "name": "Rahul", "class": "10th"},
  {"id": 2, "name": "Priya", "class": "12th"}
]

नया student add करें:

POST /students
Body: {"name": "Amit", "class": "11th"}
Response: 201 Created
{"id": 3, "name": "Amit", "class": "11th"}

Student ID 3 की जानकारी बदलें:

PATCH /students/3
Body: {"class": "12th"}
Response: 200 OK
{"id": 3, "name": "Amit", "class": "12th"}

Student ID 3 delete करें:

DELETE /students/3
Response: 204 No Content

Quick Reference Card 🎴

╔══════════╦═══════════════════╦═══════════════╗
║  Method  ║     Operation     ║  Status Code  ║
╠══════════╬═══════════════════╬═══════════════╣
║  GET     ║  Read / Retrieve  ║     200       ║
║  POST    ║  Create           ║     201       ║
║  PUT     ║  Full Update      ║     200       ║
║  PATCH   ║  Partial Update   ║     200       ║
║  DELETE  ║  Delete           ║     204       ║
╚══════════╩═══════════════════╩═══════════════╝

निष्कर्ष 🎯

REST API को समझना आसान है:

  • Resources पहचानें (books, students, users)

  • सही HTTP Method का उपयोग करें (GET, POST, PUT, PATCH, DELETE)

  • Status Codes समझें (क्या हुआ, यह साफ़ पता चलेगा)

अगले ब्लॉग में हम API Endpoints और Resources को विस्तार से समझेंगे।

तब तक practice करते रहें! 💪


अगर कोई सवाल हो तो comment करें। और अगर यह ब्लॉग उपयोगी लगा हो, तो share करना न भूलें। 😊

Happy RESTing! 🚀

More from this blog

Markmap: Markdown से Mind Map बनाने का जादुई टूल! 🗺️

नमस्कार मित्रों!आज हम एक बेहद शानदार टूल के बारे में बात करने वाले हैं – Markmap।यह टूल Markdown और Mind Map का एक बेहतरीन संगम है। Markmap आखिर है क्या? सीधे शब्दों में कहें तो, Markmap = Markdown + Mindmap आपने Markdown के बारे में जरूर सुना होगा।...

Feb 16, 20265 min read

Markmap: Markdown मधून Mind Map तयार करण्याचं जादूचं साधन! 🗺️

नमस्कार मित्रांनो!आज आपण एका अतिशय जबरदस्त टूलबद्दल बोलणार आहोत - Markmap.हे टूल म्हणजे Markdown आणि Mind Map यांचा एक अप्रतिम संगम आहे. Markmap म्हणजे नक्की काय? सोपं सांगायचं तर, Markmap = Markdown + Mindmap तुम्ही Markdown बद्दल ऐकलं असेलच.तो साध...

Feb 16, 20265 min read

Hashing - डिजिटल जगातील जादूई फंक्शन ✨🔐

कल्पना करा की तुमच्या शहरात एक मोठी लायब्रेरी आहे.लाखो पुस्तके आहेत.एक वाचक येतो आणि "महाभारत" शोधू इच्छितो.त्यासाठी तुम्ही प्रत्येक पुस्तक शेल्फमध्ये एक-एक करून तपास करणार का?असं झालं तर साधारण पुस्तक शोधण्यासही पूर्ण दिवस लागेल! आता कल्पना करा -तुम...

Feb 11, 20266 min read

Hashing – डिजिटल दुनिया का जादुई फ़ंक्शन ✨🔐

कल्पना कीजिए कि आपके शहर में एक बहुत बड़ी लाइब्रेरी है। लाखों किताबें हैं। एक पाठक आता है और “महाभारत” खोजना चाहता है। तो क्या आप हर किताब को शेल्फ़ में एक-एक करके चेक करेंगे? अगर ऐसा किया, तो एक साधारण किताब ढूँढने में भी पूरा दिन लग जाएगा! अब कल्पन...

Feb 11, 20266 min read

चांगला Resume कसा लिहावा? (नोकरीचा मार्ग सुलभ करण्याची कला developers साठी!)

चला एक गोष्ट सांगतो.कल्पना करा तुम्ही एका मोठ्या कंपनीत Apply केलंय. तुमचा Resume पाठवला, आणि मग...काहीच नाही झालं! कॉल नाही, मेल नाही. का असं होतं?कारण तुमचा Resume हा एका ढिगात, इतर ३०० Resumes सोबत, एका घाईत असलेल्या Recruiter च्या टेबलावर पडलेला ...

Feb 9, 20268 min read

AmolKharat's Blog

22 posts

हा blog technology, system design, tools, mobile development आणि Indian language learning यावर आहे. जटिल गोष्टी सोप्या शब्दांत, गोष्टी व उदाहरणांतून समजावण्याचा प्रयत्न आहे.