रिक्वेस्ट बॉडी के लिए Pydantic मॉडल
आने वाले POST, PUT और DELETE अनुरोधों के लिए डेटा स्कीमा निर्धारित करने हेतु Pydantic का उपयोग करें और सुदृढ़ डेटा सत्यापन सुनिश्चित करें।
रिक्वेस्ट बॉडी के लिए Pydantic मॉडल, CoddyKit पर FastAPI बैकएंड डेवलपमेंट बूटकैंप का एक निःशुल्क पाठ है। यह 4 में से 1वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह FastAPI बैकएंड डेवलपमेंट बूटकैंप सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
API अनुरोध बॉडी
जब आप किसी API को डेटा भेजते हैं, जैसे नया उपयोगकर्ता या आइटम बनाते समय, तो वह डेटा अक्सर अनुरोध बॉडी में भेजा जाता है।
उदाहरण के लिए, नया उत्पाद बनाने के अनुरोध में उसका नाम, मूल्य और विवरण शामिल हो सकता है। इस आने वाले डेटा के सही और मान्य होने की पुष्टि करना आपके ऐप्लिकेशन की स्थिरता और सुरक्षा के लिए अत्यंत आवश्यक है।
अनुरोध डेटा का सत्यापन क्यों करें?
आने वाले डेटा का सत्यापन कई कारणों से आवश्यक है:
- डेटा की अखंडता: यह सुनिश्चित करता है कि आपके डेटाबेस को केवल सही प्रारूप वाली और अर्थपूर्ण जानकारी मिले।
- सुरक्षा: यह दुर्भावनापूर्ण या गलत प्रारूप वाले डेटा को त्रुटियाँ या सुरक्षा कमज़ोरियाँ पैदा करने से रोकता है।
- उपयोगकर्ता अनुभव: जब उपयोगकर्ता का इनपुट गलत हो, तो उसे स्पष्ट त्रुटि संदेश देता है।
- कोड की विश्वसनीयता: यह सुनिश्चित करके बग कम करता है कि आपके ऐप्लिकेशन का तर्क अपेक्षित डेटा प्रकारों पर काम करे।
पाइडैंटिक से परिचय
पाइडैंटिक एक Python लाइब्रेरी है, जो Python के प्रकार संकेतों का उपयोग करके डेटा सत्यापन और सेटिंग प्रबंधन उपलब्ध कराती है। यह बहुत तेज़ है और FastAPI के साथ सहज रूप से एकीकृत होती है।
FastAPI पर्दे के पीछे पाइडैंटिक का उपयोग इन कामों के लिए करता है:
- अनुरोध बॉडी को Python ऑब्जेक्ट में बदलना।
- डेटा प्रकारों और सीमाओं का सत्यापन करना।
- सत्यापन विफल होने पर स्पष्ट त्रुटि संदेश तैयार करना।
अपना पहला पाइडैंटिक मॉडल बनाना
अनुरोध बॉडी के लिए डेटा संरचना परिभाषित करने हेतु आप एक ऐसा वर्ग बनाते हैं जो पाइडैंटिक के BaseModel से विरासत लेता है। इसके बाद मानक Python प्रकार संकेतों का उपयोग करके फ़ील्ड घोषित करते हैं।
यह मॉडल एक स्कीमा की तरह काम करता है और बताता है कि आपका API किस डेटा की अपेक्षा करता है।
पाइडैंटिक मॉडल का प्रयोग
आइए एक सरल Item मॉडल परिभाषित करें। ध्यान दें कि name को स्ट्रिंग और price को फ्लोट के रूप में निर्दिष्ट किया गया है। हम यह भी दिखाएँगे कि यह सत्यापन कैसे संभालता है!
from pydantic import BaseModel, ValidationError
class Item(BaseModel):
name: str
price: float
description: str | None = None # Optional field
def main():
print("--- Valid Item ---")
try:
item1 = Item(name="Laptop", price=1200.50)
print(item1.model_dump_json(indent=2))
except ValidationError as e:
print(e.json())
print("\n--- Invalid Item (missing price) ---")
try:
item2 = Item(name="Keyboard")
print(item2.model_dump_json(indent=2))
except ValidationError as e:
print(e.json())
if __name__ == "__main__":
main()FastAPI और पाइडैंटिक का तालमेल
FastAPI आपके एंडपॉइंट फ़ंक्शन के पैरामीटर में पाइडैंटिक के BaseModel ऑब्जेक्ट को अपने-आप पहचान लेता है। अनुरोध आने पर FastAPI:
- JSON अनुरोध बॉडी पढ़ता है।
- डेटा को पार्स और सत्यापित करने के लिए आपके पाइडैंटिक मॉडल का उपयोग करता है।
- सत्यापित डेटा को आपके मॉडल के इंस्टेंस के रूप में फ़ंक्शन में उपलब्ध कराता है।
यह जादू जैसा है!
POST एंडपॉइंट बनाना
FastAPI में ऐसा POST एंडपॉइंट परिभाषित करने का तरीका यह है, जो अपनी अनुरोध बॉडी में Item की अपेक्षा करता है। FastAPI आपके लिए पूरा पार्सिंग और सत्यापन संभाल लेता है!
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
description: str | None = None
tax: float | None = None
@app.post("/items/")
async def create_item(item: Item):
# The 'item' variable is now an Item object,
# already validated by Pydantic!
return {"message": "Item received successfully!", "item": item.model_dump()}
# To run this application:
# 1. Save the code as main.py
# 2. Run in terminal: uvicorn main:app --reload
# 3. Send a POST request to http://127.0.0.1:8000/items/
# with a JSON body like: {"name": "Book", "price": 29.99}स्वचालित सत्यापन और त्रुटियाँ
यदि कोई क्लाइंट ऐसा डेटा भेजता है जो आपके पाइडैंटिक मॉडल से मेल नहीं खाता, जैसे कोई आवश्यक फ़ील्ड न होना या डेटा का गलत प्रकार होना, तो FastAPI अपने-आप विस्तृत 422 Unprocessable Entity त्रुटि उत्तर लौटाएगा।
यह त्रुटि संदेश अपने-आप तैयार होता है और क्लाइंट तथा API, दोनों से जुड़ी समस्याओं की जाँच के लिए बहुत उपयोगी है।
वैकल्पिक फ़ील्ड और डिफ़ॉल्ट मान
आपकी अनुरोध बॉडी के सभी फ़ील्ड अनिवार्य होना आवश्यक नहीं है। आप फ़ील्ड को वैकल्पिक बना सकते हैं या डिफ़ॉल्ट मान दे सकते हैं:
- ऐसे वैकल्पिक फ़ील्ड के लिए
field: str | None = Noneका उपयोग करें जिनका डिफ़ॉल्ट मानNoneहो। - यदि फ़ील्ड उपलब्ध न कराया जाए, तो कोई निश्चित डिफ़ॉल्ट मान सेट करने के लिए
field: int = 0का उपयोग करें।
यह लचीलापन आपको मज़बूत और उपयोगकर्ता-अनुकूल API स्कीमा बनाने देता है।
पाइडैंटिक मॉडल जाँच
FastAPI में पाइडैंटिक मॉडल के बारे में नीचे दिए गए कथनों में से कौन-से TRUE हैं?
दोहराव: पाइडैंटिक की शक्ति
आपने सीख लिया है कि FastAPI में अनुरोध बॉडी संभालने के लिए पाइडैंटिक मॉडल कितने महत्वपूर्ण हैं। वे विश्वसनीय डेटा सत्यापन, स्वचालित पार्सिंग और स्पष्ट त्रुटि संदेश उपलब्ध कराते हैं, जिससे आपका API विकास अधिक आसान और विश्वसनीय हो जाता है।
अगले चरण में हम स्पष्ट उत्तर मॉडल परिभाषित करना और विभिन्न API कार्रवाइयों के लिए HTTP स्थिति कोड संभालना सीखेंगे!
एआई शिक्षक के साथ FastAPI बैकएंड डेवलपमेंट बूटकैंप सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 21
- पाठ
- 84
अक्सर पूछे जाने वाले प्रश्न
क्या “रिक्वेस्ट बॉडी के लिए Pydantic मॉडल” पाठ निःशुल्क है?
हाँ — FastAPI बैकएंड डेवलपमेंट बूटकैंप अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “रिक्वेस्ट बॉडी के लिए Pydantic मॉडल” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“रिक्वेस्ट बॉडी के लिए Pydantic मॉडल” में मैं क्या सीखूँगा?
आने वाले POST, PUT और DELETE अनुरोधों के लिए डेटा स्कीमा निर्धारित करने हेतु Pydantic का उपयोग करें और सुदृढ़ डेटा सत्यापन सुनिश्चित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ FastAPI बैकएंड डेवलपमेंट बूटकैंप का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या FastAPI बैकएंड डेवलपमेंट बूटकैंप शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर FastAPI बैकएंड डेवलपमेंट बूटकैंप शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 1वाँ पाठ है।
“रिक्वेस्ट बॉडी के लिए Pydantic मॉडल” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर FastAPI बैकएंड डेवलपमेंट बूटकैंप पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- रिक्वेस्ट बॉडी के लिए Pydantic मॉडल
- रिस्पॉन्स मॉडल और स्थिति कोड
- फ़ॉर्म डेटा और फ़ाइल अपलोड
- हेडर, कुकी और कस्टम प्रतिक्रियाएँ