PUT और DELETE ऑपरेशंस

FastAPI परिचय

Matt Eckerle

Software and Data Engineering Leader

PUT बनाम DELETE

PUT ऑपरेशंस

  • पारंपरिक उपयोग: मौजूदा ऑब्जेक्ट अपडेट करना

  • पैरामीटर क्वेरी स्ट्रिंग और रिक्वेस्ट बॉडी दोनों से भेजे जा सकते हैं

  • किसी एप्लिकेशन या फ़्रेमवर्क की आवश्यकता

    • जैसे cURL, requests
api = "http://moviereviews.co/reviews/1"
body = {"text": "A fantastic movie!"}
response = requests.put(api, json=body)

DELETE ऑपरेशंस

  • पारंपरिक उपयोग: मौजूदा ऑब्जेक्ट हटाना

  • पैरामीटर क्वेरी स्ट्रिंग और रिक्वेस्ट बॉडी दोनों से भेजे जा सकते हैं

  • किसी एप्लिकेशन या फ़्रेमवर्क की आवश्यकता

    • जैसे cURL, requests
api = "http://moviereviews.co/reviews/1"
response = requests.delete(api)
FastAPI परिचय

मौजूदा ऑब्जेक्ट का संदर्भ

  • ORM नहीं, इसलिए ऐप को ऑब्जेक्ट को ID से मैप करना होगा
  • डेटाबेस ID — अद्वितीय पहचानकर्ता
  • डेटाबेस IDs के लिए _id प्रचलन
    • review_id: तालिका reviews, कॉलम id
    • ORM वाले फ़्रेमवर्क में भी यही प्रचलन
from pydantic import BaseModel

class DbReview(BaseModel):
    movie: str
    num_stars: int
    text: str
    # Reference database ID of Reviews
    review_id: int
FastAPI परिचय

PUT ऑपरेशन हैंडल करना

मौजूदा मूवी रिव्यू अपडेट करने के लिए PUT एन्डपॉइंट:

  • एन्डपॉइंट: /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 ऑपरेशन हैंडल करना

मौजूदा मूवी रिव्यू हटाने के लिए DELETE एन्डपॉइंट:

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

Ayo berlatih!

FastAPI परिचय

Preparing Video For Download...