FastAPI'ye Giriş
Matt Eckerle
Software and Data Engineering Leader
Klasik kullanım: bir nesne hakkında bilgi isteme
Parametreler sorgu dizesiyle gönderilir
Bir web tarayıcısından gönderilebilir
api = "http://moviereviews.co/reviews/1"
response = requests.get(api)
Klasik kullanım: yeni bir nesne oluşturma
Parametreler sorgu dizesi ve istek gövdesiyle gönderilir
Bir uygulama veya çerçeve gerektirir
cURL, requestsapi = "http://moviereviews.co/reviews/"
body = {"text": "A great movie!"}
response = requests.post(api, json=body)
JSON Örneği
# Bir film yorumu kaydı oluştur
{"movie": "The Neverending Story",
"review": {"num_stars": 4,
"text": "Great movie!",
"public": true}}
pydantic: istek ve yanıt gövdesi şemalarını tanımlama arabirimi
Not
ReviewöğesiniMovieReviewiçinde iç içe kullanıyoruz
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
Yeni bir film yorumu oluşturmak için POST uç noktası:
/reviewsMovieReview (önceki slayttan)db_review (başka yerde tanımlı)@app.post("/reviews", response_model=DbReview)
def create_review(review: MovieReview):
# Yorumu veritabanına kaydet
db_review = crud.create_review(review)
# Veritabanı kimliğiyle birlikte döndür
return db_review
FastAPI'ye Giriş