Operații PUT și DELETE

Introducere în FastAPI

Matt Eckerle

Software and Data Engineering Leader

PUT vs. DELETE

Operații PUT

  • Utilizare tradițională: actualizarea unui obiect existent

  • Parametrii trimiși prin șirul de interogare și corpul cererii

  • Necesită o aplicație sau un framework

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

Operații DELETE

  • Utilizare tradițională: ștergerea unui obiect existent

  • Parametrii trimiși prin șirul de interogare și corpul cererii

  • Necesită o aplicație sau un framework

    • ex. cURL, requests
api = "http://moviereviews.co/reviews/1"
response = requests.delete(api)
Introducere în FastAPI

Referențierea obiectelor existente

  • Fără ORM, aplicația trebuie să mapeze obiectul la ID
  • ID bază de date - identificator unic
  • Convenția _id pentru ID-urile din baza de date
    • review_id: Tabelul reviews, coloana id
    • Aceeași convenție în framework-uri cu ORM
from pydantic import BaseModel

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

Gestionarea unei operații PUT

Endpoint PUT pentru actualizarea unei recenzii de film existente:

  • Endpoint: /reviews
  • Intrare: DbReview (din diapozitivul anterior)
  • Ieșire: 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
Introducere în FastAPI

Gestionarea unei operații DELETE

Endpoint DELETE pentru eliminarea unei recenzii de film existente:

  • Endpoint: /reviews
  • Intrare: DbReview
  • Ieșire: {}
@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 {}
Introducere în FastAPI

Să exersăm!

Introducere în FastAPI

Preparing Video For Download...