JSON CRUD API बनाना

FastAPI परिचय

Matt Eckerle

Software and Data Engineering Leader

ऑब्जेक्ट प्रबंधन लाइफसाइकिल के चार चरण (CRUD)

डेटाबेस के चारों ओर Create, Read, Update, Delete

API ऑपरेशंस

Create

  • POST ऑपरेशन

Read

  • GET ऑपरेशन

Update

  • PUT ऑपरेशन

Delete

  • DELETE ऑपरेशन
FastAPI परिचय

JSON CRUD API का उद्देश्य

मूल बातें

  • पूरे ऑब्जेक्ट लाइफसाइकिल का प्रबंधन करें
  • HTTP API ऑपरेशंस के श्रेष्ठ अभ्यास समझें
  • अपने डेटा प्रबंधन API डिज़ाइन करें

अवसर

  • जटिल डेटा ऑपरेशंस के लिए बिज़नेस लॉजिक
  • उच्च थ्रूपुट डेटा पाइपलाइंस
  • मशीन लर्निंग इन्फ़रेंस पाइपलाइंस
FastAPI परिचय

CRUD मॉड्यूल बनाना

from pydantic import BaseModel

class Review(BaseModel):
    movie: str
    num_stars: int
    text: str

class DbReview(BaseModel):
    movie: str
    num_stars: int
    text: str
    # Reference database ID of Reviews
    review_id: int
# crud.py
def create_review(review: Review):
    # Create review in database

def read_review(review_id: int):
    # Read review from database

def update_review(review: DbReview):
    # Update review in database

def delete_review(review_id: int):
    # Delete review from database
FastAPI परिचय

बनाने के लिए POST Endpoint

  • Endpoint: /reviews
  • इनपुट: Review
  • आउटपुट: DbReview
@app.post("/reviews", response_model=DbReview)
def create_review(review: Review):
    # Create the movie review in the database
    db_review = crud.create_review(review)
    # Return the created review with database ID
    return db_review
FastAPI परिचय

पढ़ने के लिए GET Endpoint

  • Endpoint: /reviews
  • इनपुट: ?review_id=1234
  • आउटपुट: DbReview
@app.get("/reviews", response_model=DbReview)
def read_review(review_id: int):
    # Read the movie review from the database
    db_review = crud.read_review(review_id)
    # Return the review
    return db_review
FastAPI परिचय

अपडेट के लिए PUT Endpoint

  • Endpoint: /reviews
  • इनपुट: DbReview
  • आउटपुट: DbReview
@app.put("/reviews", response_model=DbReview)
def update_review(review: DbReview):
    # Update the movie review in the database
    db_review = crud.update_review(review)
    # Return the updated review
    return db_review
FastAPI परिचय

हटाने के लिए DELETE Endpoint

  • Endpoint: /reviews
  • इनपुट: DbReview
  • आउटपुट: {}
@app.delete("/reviews")
def delete_review(review: DbReview):
    # Delete the movie review from the database
    crud.delete_review(review.review_id)
    # Return nothing since the data is gone
    return {}
FastAPI परिचय

Ayo berlatih!

FastAPI परिचय

Preparing Video For Download...