Skip to main content

Command Palette

Search for a command to run...

API#3: API Endpoints और Resources को समझना

Updated
•5 min read•View as Markdown
API#3: API Endpoints और Resources को समझना

नमस्कार Developers! 🙏

पिछले दो blogs में हमने API क्या है और REST API कैसे काम करता है, यह सीखा।
आज हम API की दो बेहद महत्वपूर्ण concepts सीखने वाले हैं – Endpoints और Resources!


Resource क्या होता है? 🎯

Resource का मतलब है आपके application के अंदर मौजूद कोई भी “चीज़” (thing) जिसे आप manage करना चाहते हैं।

उदाहरण:

  • E-commerce App: Products, Users, Orders, Cart

  • Social Media: Posts, Comments, Likes, Users, Photos

  • School Management: Students, Teachers, Classes, Exams

  • Library System: Books, Authors, Members, Loans

हर resource एक noun (संज्ञा) होता है – कोई वस्तु या अवधारणा।

Resource के प्रकार 📦

1. Collection (संग्रह):

/books - सभी books का collection
/students - सभी students का collection

2. Individual Resource (एकल संसाधन):

/books/5 - ID 5 की एक book
/students/101 - ID 101 का एक student

Endpoint क्या होता है? 🔗

Endpoint एक URL (Uniform Resource Locator) path होता है, जिसके जरिए आप API से संवाद करते हैं।
यह आपके resource का “पता” होता है।

मूल Structure:

https://api.example.com/v1/books
     |          |        |    |
  Protocol   Domain   Version Resource

आइए इसे विस्तार से समझते हैं! 👇


Endpoints Design करने की Best Practices 🏆

1. हमेशा Plural (बहुवचन) का उपयोग करें

गलत ❌:

/book
/student
/product

सही ✅:

/books
/students
/products

क्यों? क्योंकि collection में एक से अधिक items होते हैं।


2. Nouns का उपयोग करें, Verbs का नहीं

गलत ❌:

/getBooks
/createStudent
/deleteProduct
/updateUser

सही ✅:

GET /books
POST /students
DELETE /products/5
PUT /users/10

ध्यान रखें: HTTP Method (GET, POST, PUT, DELETE) पहले से ही action बताता है।


3. Hierarchical (श्रेणीबद्ध) Structure का उपयोग करें

अगर resources के बीच relationship हो तो:

/authors/5/books
       |     |
    Author  उस author की books

/students/101/grades
        |       |
    Student  उस student के grades

/posts/20/comments
     |      |
   Post  उस post के comments

4. Lowercase और Hyphens का उपयोग करें

गलत ❌:

/MyBooks
/user_profiles
/ProductCategories

सही ✅:

/my-books
/user-profiles
/product-categories

Complete उदाहरण – Online Bookstore 📚

आइए एक complete bookstore API design करते हैं:

Books (पुस्तकें)

GET    /books                  - सभी books देखें
GET    /books/5                - ID 5 की book देखें
POST   /books                  - नई book जोड़ें
PUT    /books/5                - Book 5 की पूरी जानकारी बदलें
PATCH  /books/5                - Book 5 की कुछ जानकारी बदलें
DELETE /books/5                - Book 5 delete करें

Authors (लेखक)

GET    /authors                - सभी authors
GET    /authors/10             - Author 10
GET    /authors/10/books       - Author 10 की सभी books
POST   /authors                - नया author जोड़ें

Categories (श्रेणियाँ)

GET    /categories             - सभी categories
GET    /categories/fiction/books - Fiction category की books

Users और Orders

GET    /users/25               - User 25 की profile
GET    /users/25/orders        - User 25 के सभी orders
POST   /users/25/orders        - नया order बनाएं
GET    /users/25/orders/100    - Order 100 की details

Reviews (समीक्षाएँ)

GET    /books/5/reviews        - Book 5 के सभी reviews
POST   /books/5/reviews        - Book 5 के लिए review लिखें
DELETE /books/5/reviews/50     - Review 50 delete करें

Query Parameters – Extra जानकारी 🔍

जब data को filter, sort या search करना हो, तब query parameters का उपयोग किया जाता है।

Filtering (फ़िल्टरिंग)

GET /books?author=Sane-Guruji
    → Sane Guruji की books

GET /books?price_min=200&price_max=500
    → ₹200 से ₹500 के बीच की books

GET /products?category=electronics&available=true
    → Available electronics

Sorting (क्रमबद्ध करना)

GET /books?sort=price
    → कीमत के अनुसार sort करें

GET /books?sort=-price
    → कीमत के अनुसार उल्टा sort (- मतलब descending)

GET /students?sort=name,class
    → नाम और class के अनुसार sort करें

Pagination (पृष्ठांकन)

अगर हजारों books हों, तो सभी एक साथ नहीं भेजते।

GET /books?page=1&limit=20
    → पहले page की 20 books

GET /books?offset=40&limit=20
    → 41 से 60 तक की books

Search (खोज)

GET /books?search=harry+potter
    → "Harry Potter" खोजें

GET /products?q=laptop&brand=dell
    → Dell के laptops खोजें

Practical उदाहरण – E-commerce API 🛒

Products Management

GET /products
GET /products?category=electronics
GET /products?price_max=10000&sort=-rating
GET /products?search=wireless+headphones
GET /products?page=2&limit=24

Shopping Cart

GET /users/50/cart

POST /users/50/cart
Body: {"product_id": 123, "quantity": 2}

PATCH /users/50/cart/item/5
Body: {"quantity": 3}

DELETE /users/50/cart/item/5

Orders

POST /users/50/orders
Body: {
  "items": [...],
  "shipping_address": {...},
  "payment_method": "UPI"
}

GET /users/50/orders
GET /users/50/orders/789

PATCH /orders/789
Body: {"status": "shipped"}

Versioning – API का Version 🔢

पुराने users की apps break न हों, इसके लिए versioning की जाती है।

URL में Version:

https://api.example.com/v1/books
https://api.example.com/v2/books

Header में Version:

GET /books
Headers: {
  "API-Version": "2.0"
}

Common Mistakes – इन गलतियों से बचें! ⚠️

❌ Mistake 1: Verbs in URLs✅ सही तरीका:
GET /getAllBooks POST /createNewUserGET /books POST /users
❌ Mistake 2: Inconsistent Naming✅ सही तरीका:
GET /books GET /author (singular) GET /Products (capital P)GET /books GET /authors GET /products
❌ Mistake 3: Deep Nesting✅ सही तरीका:
GET /authors/5/books/10/reviews/20/comments/30GET /reviews/20/comments or GET /comments?review_id=20

यम: 2–3 levels से ज्यादा nesting से बचें।


Quick Reference – Endpoint Patterns 📋

PatternExample
CollectionGET /books
Single ResourceGET /books/5
Sub-collectionGET /authors/10/books
FilterGET /books?genre=fiction
SortGET /books?sort=price
PaginationGET /books?page=2&limit=20
SearchGET /books?search=harry

निष्कर्ष 🎯

Endpoints और Resources ही REST API की foundation हैं।

याद रखें:
✅ Resources = Nouns (Books, Users, Products)
✅ Endpoints = URLs (Resources तक पहुँचने का रास्ता)
✅ Plural का उपयोग करें
✅ Hierarchical structure अपनाएँ
✅ Filtering / Sorting के लिए query parameters
✅ Clean और consistent naming रखें


अगले blog में हम अपना पहला API बनाएँगे – actual code के साथ! 🚀

तब तक खूब practice करें! 💪

अगर पसंद आया हो तो share करें 😊

Happy Coding! 💻✨

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 यावर आहे. जटिल गोष्टी सोप्या शब्दांत, गोष्टी व उदाहरणांतून समजावण्याचा प्रयत्न आहे.