FastAPI फंक्शन आर्गुमेंट्समधून पथ पैरामीटर (URL पथचा भाग) आणि प्रश्न पैरामीटर (? नंतर) काढून घेते, स्वयंचलित रूपांतर आणि सत्यापनासाठी प्रकार संकेत वापरून.
पथ पैरामीटर — URL चा भाग
():
{: item_id}
FastAPI फंक्शन आर्गुमेंट्समधून पथ पैरामीटर (URL पथचा भाग) आणि प्रश्न पैरामीटर (? नंतर) काढून घेते, स्वयंचलित रूपांतर आणि सत्यापनासाठी प्रकार संकेत वापरून.
():
{: item_id}
एक फंक्शन पैरामीटर ज्याचे नाव मार्गातील {placeholder} शी जुळते ते पथ पैरामीटर बनते. प्रकार संकेत (int) URL वरून स्ट्रिंग स्वयंचलितरित्या रूपांतरित करतो आणि जर ते जुळत नसेल तर स्पष्ट 422 त्रुटी मिळते.
@app.get("/items")
def list_items(skip: int = 0, limit: int = 10, q: str | None = None):
# parameters NOT in the path become QUERY parameters
# GET /items?skip=20&limit=5&q=phone → skip=20, limit=5, q="phone"
return {"skip": skip, "limit": limit, "q": q}
मार्गात नाही असलेले फंक्शन पैरामीटर प्रश्न पैरामीटर बनतात. डिफॉल्ट मान त्यांना वैकल्पिक बनवते (skip: int = 0); str | None = None एक शून्य वैकल्पिक प्रश्न पैरामीटर बनवते. डिफॉल्ट व्यतिरिक्त, ते आवश्यक आहेत.
def search(q: str): # REQUIRED query param (no default) → ?q=... must be present
def search(q: str = ""): # optional, defaults to ""
def search(q: str | None = None): # optional, defaults to None
@app.get("/users/{user_id}/items")
def user_items(user_id: int, limit: int = 10):
# user_id = path param, limit = query param — distinguished by the path
पथ आणि प्रश्न पैरामीटर हे आहेत की एंडपॉइंट्स URL वरून इनपुट कसे प्राप्त करतात — लगभग प्रत्येक API मार्गासाठी मूलभूत (id द्वारे संसाधन प्राप्त करणे, फिल्टरिंग, पृष्ठांकन, शोध).
FastAPI चा दृष्टिकोन मार्जित आहे आणि तो उत्पादनशील असण्याचे मुख्य कारण आहे: केवळ टाइप केलेले फंक्शन पैरामीटर घोषित केल्याने तुम्हाला स्वयंचलित अर्क, प्रकार रूपांतरण, सत्यापन (खराब इनपुट वर स्पष्ट 422 त्रुटी) आणि आवश्यक-विरुद्ध-वैकल्पिक सिमेंटिक्स (डिफॉल्ट द्वारे) मिळते — सर्व मानक Python प्रकार संकेत प्राप्त, हाताची पार्सिंग शिवाय.
पथ पैरामीटर {placeholders} वरून येतात हा अंतर समजून घेणे, बाकी सर्वकाही प्रश्न पैरामीटर आहे आणि डिफॉल्ट वैकल्पिकता कसे नियंत्रित करतात हे FastAPI एंडपॉइंट बांधण्यासाठी आवश्यक दैनंदिन ज्ञान आहे.
सविस्तर उत्तरांसह IT मुलाखत प्रश्नांचे ग्रंथालय — Junior पासून Senior पर्यंत.
देणगी द्या