🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

फास्टएपीआई रेस्ट एपीआई गाइड 2026: पायथन के साथ प्रोडक्शन एपीआई बनाएं

⏱️2 min read  ·  401 words
FastAPI REST API Guide 2026: Build Production APIs with Python

फास्टएपीआई2026 में सबसे तेजी से बढ़ने वाला पायथन वेब फ्रेमवर्क है। स्टारलेट और पाइडेंटिक पर निर्मित, यह स्वचालित रूप से ओपनएपीआई दस्तावेज़ उत्पन्न करता है, एसिंक को मूल रूप से संभालता है, और Node.js/Go गति पर प्रदर्शन करता है। यह मार्गदर्शिका प्रमाणीकरण, डेटाबेस और परिनियोजन के साथ एक संपूर्ण REST API बनाती है।

स्थापित करें और पहला समापन बिंदु

pip install fastapi uvicorn sqlalchemy pydantic[email]

# main.py
from fastapi import FastAPI

app = FastAPI(title='My API', version='1.0.0')

@app.get('/')
async def root():
    return {'message': 'Hello FastAPI!'}

@app.get('/health')
async def health():
    return {'status': 'ok'}

uvicorn main:app --reload
# Docs at: http://localhost:8000/docs

सत्यापन के लिए पाइडेंटिक मॉडल

from pydantic import BaseModel, EmailStr
from typing import Optional

class UserCreate(BaseModel):
    name:  str
    email: EmailStr
    age:   int

class UserResponse(BaseModel):
    id:    int
    name:  str
    email: str

    model_config = {'from_attributes': True}

सीआरयूडी समापन बिंदु

from fastapi import HTTPException

# In-memory store for demo
users_db: dict[int, dict] = {}
counter = 0

@app.post('/users', response_model=UserResponse, status_code=201)
async def create_user(user: UserCreate):
    global counter
    counter += 1
    users_db[counter] = {'id': counter, **user.model_dump()}
    return users_db[counter]

@app.get('/users/{user_id}', response_model=UserResponse)
async def get_user(user_id: int):
    if user_id not in users_db:
        raise HTTPException(status_code=404, detail='User not found')
    return users_db[user_id]

@app.put('/users/{user_id}', response_model=UserResponse)
async def update_user(user_id: int, user: UserCreate):
    if user_id not in users_db:
        raise HTTPException(status_code=404, detail='User not found')
    users_db[user_id] = {'id': user_id, **user.model_dump()}
    return users_db[user_id]

@app.delete('/users/{user_id}', status_code=204)
async def delete_user(user_id: int):
    if user_id not in users_db:
        raise HTTPException(status_code=404, detail='User not found')
    del users_db[user_id]

जेडब्ल्यूटी प्रमाणीकरण

pip install python-jose[cryptography] passlib[bcrypt]

from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
from jose import jwt
from passlib.context import CryptContext
from datetime import datetime, timedelta

SECRET_KEY = 'your-secret-key'
ALGORITHM  = 'HS256'
pwd_ctx    = CryptContext(schemes=['bcrypt'])
oauth2     = OAuth2PasswordBearer(tokenUrl='token')

def create_token(data: dict) -> str:
    payload = data | {'exp': datetime.utcnow() + timedelta(hours=24)}
    return jwt.encode(payload, SECRET_KEY, algorithm=ALGORITHM)

@app.post('/token')
async def login(form: OAuth2PasswordRequestForm = Depends()):
    # Verify password here
    token = create_token({'sub': form.username})
    return {'access_token': token, 'token_type': 'bearer'}

पृष्ठभूमि कार्य

from fastapi import BackgroundTasks

def send_welcome_email(email: str):
    # runs after response is sent
    print(f'Sending welcome to {email}')

@app.post('/register')
async def register(user: UserCreate, bg: BackgroundTasks):
    # Create user in DB...
    bg.add_task(send_welcome_email, user.email)
    return {'status': 'registered'}

निष्कर्ष

फास्टएपीआई आपको ऑटो-जेनरेटेड ओपनएपीआई दस्तावेज़, टाइप-सुरक्षित अनुरोध/प्रतिक्रिया, एसिंक प्रदर्शन और अंतर्निहित ऑथ पैटर्न प्रदान करता है। यह 2026 में एपीआई के लिए सबसे अच्छा पायथन वेब फ्रेमवर्क है। डेटाबेस के लिए SQLAlchemy या Tortoise ORM जोड़ें, डॉकर के साथ तैनात करें, और आपके पास घंटों में उत्पादन के लिए तैयार एपीआई है।

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা