JSON CRUD API Oluşturma

FastAPI'ye Giriş

Matt Eckerle

Software and Data Engineering Leader

Nesne Yaşam Döngüsünde Dört Adım (CRUD)

Bir Veritabanı etrafında Oluştur, Oku, Güncelle ve Sil

API İşlemleri

Oluştur

  • POST işlemi

Oku

  • GET işlemi

Güncelle

  • PUT işlemi

Sil

  • DELETE işlemi
FastAPI'ye Giriş

JSON CRUD API'ye Motivasyon

Temeller

  • Nesnenin tüm yaşam döngüsünü yönetin
  • HTTP API işlemlerinde en iyi uygulamaları anlayın
  • Kendi veri yönetim API'lerimizi tasarlayın

Fırsatlar

  • Daha karmaşık veri işlemleri için iş mantığı
  • Yüksek veri akışlı hatlar
  • Makine Öğrenimi çıkarım hatları
FastAPI'ye Giriş

Bir CRUD Modülü Oluşturma

from pydantic import BaseModel

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

class DbReview(BaseModel):
    movie: str
    num_stars: int
    text: str
    # Reviews için veritabanı kimliği referansı
    review_id: int
# crud.py
def create_review(review: Review):
    # Veritabanında inceleme oluştur

def read_review(review_id: int):
    # Veritabanından inceleme oku

def update_review(review: DbReview):
    # Veritabanında inceleme güncelle

def delete_review(review_id: int):
    # Veritabanından inceleme sil
FastAPI'ye Giriş

Oluşturmak için POST Uç Noktası

  • Uç nokta: /reviews
  • Girdi: Review
  • Çıktı: DbReview
@app.post("/reviews", response_model=DbReview)
def create_review(review: Review):
    # Veritabanında film incelemesi oluştur
    db_review = crud.create_review(review)
    # Veritabanı kimliği ile oluşturulan incelemeyi döndür
    return db_review
FastAPI'ye Giriş

Okumak için GET Uç Noktası

  • Uç nokta: /reviews
  • Girdi: ?review_id=1234
  • Çıktı: DbReview
@app.get("/reviews", response_model=DbReview)
def read_review(review_id: int):
    # Veritabanından film incelemesini oku
    db_review = crud.read_review(review_id)
    # İncelemeyi döndür
    return db_review
FastAPI'ye Giriş

Güncellemek için PUT Uç Noktası

  • Uç nokta: /reviews
  • Girdi: DbReview
  • Çıktı: DbReview
@app.put("/reviews", response_model=DbReview)
def update_review(review: DbReview):
    # Veritabanında film incelemesini güncelle
    db_review = crud.update_review(review)
    # Güncellenen incelemeyi döndür
    return db_review
FastAPI'ye Giriş

Silmek için DELETE Uç Noktası

  • Uç nokta: /reviews
  • Girdi: DbReview
  • Çıktı: {}
@app.delete("/reviews")
def delete_review(review: DbReview):
    # Veritabanından film incelemesini sil
    crud.delete_review(review.review_id)
    # Veri silindiği için hiçbir şey döndürme
    return {}
FastAPI'ye Giriş

Haydi pratik yapalım!

FastAPI'ye Giriş

Preparing Video For Download...