Operasi PUT dan DELETE

Pengantar FastAPI

Matt Eckerle

Software and Data Engineering Leader

PUT vs. DELETE

Operasi PUT

  • Umum: memperbarui objek yang ada

  • Parameter via query string dan body permintaan

  • Memerlukan aplikasi atau framework

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

Operasi DELETE

  • Umum: menghapus objek yang ada

  • Parameter via query string dan body permintaan

  • Memerlukan aplikasi atau framework

    • mis. cURL, requests
api = "http://moviereviews.co/reviews/1"
response = requests.delete(api)
Pengantar FastAPI

Mereferensikan Objek yang Ada

  • Tanpa ORM, aplikasi harus memetakan objek ke ID
  • ID basis data: pengenal unik
  • Konvensi _id untuk ID basis data
    • review_id: Tabel reviews, kolom id
    • Konvensi sama pada framework dengan ORM
from pydantic import BaseModel

class DbReview(BaseModel):
    movie: str
    num_stars: int
    text: str
    # Reference database ID of Reviews
    review_id: int
Pengantar FastAPI

Menangani Operasi PUT

Endpoint PUT untuk memperbarui ulasan film yang ada:

  • Endpoint: /reviews
  • Input: DbReview (dari slide sebelumnya)
  • 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
Pengantar FastAPI

Menangani Operasi DELETE

Endpoint DELETE untuk menghapus ulasan film yang ada:

  • 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 {}
Pengantar FastAPI

Ayo berlatih!

Pengantar FastAPI

Preparing Video For Download...