การดำเนินการ PUT และ DELETE

FastAPI เบื้องต้น

Matt Eckerle

Software and Data Engineering Leader

PUT กับ DELETE

การดำเนินการ PUT

  • การใช้งานทั่วไป: อัปเดตออบเจกต์ที่มีอยู่

  • ส่งพารามิเตอร์ผ่าน query string และ request body

  • ต้องใช้แอปพลิเคชันหรือเฟรมเวิร์ก

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

การดำเนินการ DELETE

  • การใช้งานทั่วไป: ลบออบเจกต์ที่มีอยู่

  • ส่งพารามิเตอร์ผ่าน query string และ request body

  • ต้องใช้แอปพลิเคชันหรือเฟรมเวิร์ก

    • เช่น cURL, requests
api = "http://moviereviews.co/reviews/1"
response = requests.delete(api)
FastAPI เบื้องต้น

การอ้างอิงออบเจกต์ที่มีอยู่

  • ไม่มี ORM แอปต้องแมปออบเจกต์กับ ID เอง
  • Database ID — ตัวระบุเฉพาะ
  • ใช้แบบแผน _id สำหรับ database 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

endpoint แบบ PUT สำหรับอัปเดตรีวิวภาพยนตร์:

  • Endpoint: /reviews
  • Input: DbReview (จากสไลด์ก่อนหน้า)
  • Output: 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 แบบ DELETE สำหรับลบรีวิวภาพยนตร์:

  • Endpoint: /reviews
  • Input: DbReview
  • Output: {}
@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 เบื้องต้น

มาฝึกกันเลย!

FastAPI เบื้องต้น

Preparing Video For Download...