PUT ve DELETE işlemleri

FastAPI'ye Giriş

Matt Eckerle

Software and Data Engineering Leader

PUT vs. DELETE

PUT İşlemleri

  • Geleneksel kullanım: mevcut bir nesneyi güncelleme

  • Parametreler sorgu dizesi ve istek gövdesiyle gönderilebilir

  • Bir uygulama veya çatı gerektirir

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

DELETE İşlemleri

  • Geleneksel kullanım: mevcut bir nesneyi silme

  • Parametreler sorgu dizesi ve istek gövdesiyle gönderilebilir

  • Bir uygulama veya çatı gerektirir

    • ör. cURL, requests
api = "http://moviereviews.co/reviews/1"
response = requests.delete(api)
FastAPI'ye Giriş

Mevcut Nesnelere Referans Verme

  • ORM yok; bu yüzden uygulama nesneyi ID ile eşlemeli
  • Veritabanı ID’si: benzersiz tanımlayıcı
  • Veritabanı ID’leri için _id kuralı
    • review_id: reviews tablosu, id sütunu
    • ORM’li çatılarda da aynı kural
from pydantic import BaseModel

class DbReview(BaseModel):
    movie: str
    num_stars: int
    text: str
    # Reference database ID of Reviews
    review_id: int
FastAPI'ye Giriş

Bir PUT İşlemini Ele Alma

Mevcut bir film değerlendirmesini güncellemek için PUT uç noktası:

  • Uç nokta: /reviews
  • Girdi: DbReview (önceki slayttan)
  • Çıktı: 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'ye Giriş

Bir DELETE İşlemini Ele Alma

Mevcut bir film değerlendirmesini silmek için DELETE uç noktası:

  • Uç nokta: /reviews
  • Girdi: DbReview
  • Çıktı: {}
@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'ye Giriş

Haydi pratik yapalım!

FastAPI'ye Giriş

Preparing Video For Download...