FastAPI 入门
Matt Eckerle
Software and Data Engineering Leader

from pydantic import BaseModel
class Review(BaseModel):
movie: str
num_stars: int
text: str
class DbReview(BaseModel):
movie: str
num_stars: int
text: str
# Reference database ID of Reviews
review_id: int
# crud.py
def create_review(review: Review):
# Create review in database
def read_review(review_id: int):
# Read review from database
def update_review(review: DbReview):
# Update review in database
def delete_review(review_id: int):
# Delete review from database
/reviewsReviewDbReview@app.post("/reviews", response_model=DbReview)
def create_review(review: Review):
# 在数据库中创建影评
db_review = crud.create_review(review)
# 返回带数据库 ID 的新影评
return db_review
/reviews?review_id=1234DbReview@app.get("/reviews", response_model=DbReview)
def read_review(review_id: int):
# 从数据库读取影评
db_review = crud.read_review(review_id)
# 返回该影评
return db_review
/reviewsDbReviewDbReview@app.put("/reviews", response_model=DbReview)
def update_review(review: DbReview):
# 在数据库中更新影评
db_review = crud.update_review(review)
# 返回更新后的影评
return db_review
/reviewsDbReview{}@app.delete("/reviews")
def delete_review(review: DbReview):
# 在数据库中删除影评
crud.delete_review(review.review_id)
# 数据已删除,返回空
return {}
FastAPI 入门