FastAPI क्या है?
FastAPI एक आधुनिक, हाई-परफॉर्मेंस वेब फ्रेमवर्क है जो Python में API बनाने के लिए डिज़ाइन किया गया है। Sebastián Ramírez द्वारा विकसित, यह फ्रेमवर्क OpenAPI और JSON Schema मानकों पर आधारित है, जो ऑटोमैटिक डॉक्यूमेंटेशन जनरेशन और डेटा टाइपिंग प्रदान करता है।
FastAPI Python की नवीनतम सुविधाओं जैसे टाइप हिंट्स (type hints) और एसिंक्रोनस प्रोग्रामिंग का उपयोग करता है, जो इसे API डेवलपमेंट के लिए सबसे तेज़ Python फ्रेमवर्क में से एक बनाता है। परफॉर्मेंस के मामले में यह Node.js और Go के बराबर है, जो इसे हाई-लोड एप्लिकेशन के लिए एक बेहतरीन विकल्प बनाता है।
FastAPI की मुख्य विशेषताएं
उच्च प्रदर्शन (High Performance)
FastAPI वेब भाग के लिए Starlette और डेटा वैलिडेशन के लिए Pydantic पर आधारित है। यह सबसे तेज़ Python फ्रेमवर्क के स्तर पर प्रदर्शन सुनिश्चित करता है। फ्रेमवर्क ASGI (Asynchronous Server Gateway Interface) को पूरी तरह से सपोर्ट करता है, जो हज़ारों समवर्ती कनेक्शन को संभाल सकता है।
ऑटोमैटिक डॉक्यूमेंटेशन जनरेशन
FastAPI की सबसे बड़ी खासियत है इसकी ऑटोमैटिक इंटरैक्टिव API डॉक्यूमेंटेशन जनरेशन। फ्रेमवर्क OpenAPI (Swagger) फॉर्मेट में डॉक्यूमेंटेशन बनाता है और दो इंटरफेस प्रदान करता है:
- Swagger UI –
/docsपते पर उपलब्ध - ReDoc –
/redocपते पर उपलब्ध
पूर्ण टाइपिंग सपोर्ट
FastAPI डेटा वैलिडेशन, सीरियलाइज़ेशन और ऑटोमैटिक डॉक्यूमेंटेशन के लिए Python के स्टैंडर्ड टाइप हिंट्स का उपयोग करता है। यह IDE में ऑटो-कम्प्लीशन की बेहतरीन सुविधा प्रदान करता है और डेवलपमेंट के दौरान त्रुटियों को कम करता है।
बिल्ट-इन डेटा वैलिडेशन
Pydantic के साथ इंटीग्रेशन के कारण, FastAPI स्वचालित रूप से इनकमिंग डेटा को वैलिडेट करता है, टाइप कन्वर्ट करता है और स्पष्ट एरर मैसेज लौटाता है। यह डेवलपमेंट को काफी सरल बनाता है और एप्लिकेशन की विश्वसनीयता बढ़ाता है।
एसिंक्रोनस सपोर्ट (बॉक्स से बाहर)
FastAPI async/await का उपयोग करके एसिंक्रोनस प्रोग्रामिंग को पूरी तरह से सपोर्ट करता है। यह आपको हाई-परफॉर्मेंस एप्लिकेशन बनाने में सक्षम बनाता है जो कई समवर्ती रिक्वेस्ट को संभाल सकते हैं।
इंस्टॉलेशन और बेसिक सेटअप
FastAPI इंस्टॉल करना
FastAPI और सभी आवश्यक डिपेंडेंसी इंस्टॉल करने के लिए निम्न कमांड का उपयोग करें:
pip install fastapi[all]
यह कमांड FastAPI के साथ Uvicorn (ASGI सर्वर) और अन्य उपयोगी डिपेंडेंसी इंस्टॉल करेगा।
न्यूनतम इंस्टॉलेशन के लिए उपयोग करें:
pip install fastapi
pip install uvicorn[standard]
पहला एप्लिकेशन बनाना
बेसिक एप्लिकेशन के साथ main.py फ़ाइल बनाएं:
from fastapi import FastAPI
app = FastAPI(
title="मेरा FastAPI प्रोजेक्ट",
description="यह FastAPI एप्लिकेशन का उदाहरण है",
version="1.0.0"
)
@app.get("/")
async def root():
return {"message": "FastAPI में आपका स्वागत है!"}
@app.get("/health")
async def health_check():
return {"status": "ok"}
एप्लिकेशन चलाना
Uvicorn के साथ डेवलपमेंट सर्वर चलाएं:
uvicorn main:app --reload --host 0.0.0.0 --port 8000
रन पैरामीटर:
--reload– कोड बदलने पर ऑटोमैटिक रीलोड--host 0.0.0.0– सभी IP पतों से कनेक्शन स्वीकार करें--port 8000– सर्वर चलाने के लिए पोर्ट
HTTP मेथड्स के साथ काम करना
FastAPI सभी स्टैंडर्ड HTTP मेथड्स को संबंधित डेकोरेटर्स के माध्यम से सपोर्ट करता है:
GET रिक्वेस्ट
@app.get("/items/{item_id}")
async def get_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
@app.get("/items/")
async def get_items(skip: int = 0,