Introductie tot FastAPI
Matt Eckerle
Software and Data Engineering Leader
Traditioneel gebruik: info over een object opvragen
Parameters via querystring
Kan vanuit een webbrowser
api = "http://moviereviews.co/reviews/1"
response = requests.get(api)
Traditioneel gebruik: een nieuw object aanmaken
Parameters via querystring én request body
Vereist een applicatie of framework
cURL, requestsapi = "http://moviereviews.co/reviews/"
body = {"text": "A great movie!"}
response = requests.post(api, json=body)
JSON-voorbeeld
# Maak een record voor een filmreview
{"movie": "The Neverending Story",
"review": {"num_stars": 4,
"text": "Great movie!",
"public": true}}
pydantic: interface om schemas voor request- en responsebody te definiëren
Let op
We nesten
ReviewbinnenMovieReview
from pydantic import BaseModel
class Review(BaseModel):
num_stars: int
text: str
public: bool = False
class MovieReview(BaseModel):
movie: str
# Nest Review in MovieReview
review: Review
POST-endpoint om een nieuwe filmreview te maken:
/reviewsMovieReview (van vorige slide)db_review (elders gedefinieerd)@app.post("/reviews", response_model=DbReview)
def create_review(review: MovieReview):
# Sla de filmreview op in de database
db_review = crud.create_review(review)
# Retourneer de review met database-ID
return db_review
Introductie tot FastAPI