FastAPI app
- Python kursu
- İleri seviye
- Ders 49/83
- 5 dk
FastAPI() ile uygulama oluşturmayı öğrenirsin.
FastAPI app
FastAPI() ile bir uygulama nesnesi oluşturursun. Bu nesne, yolları (routes) kaydeder ve istekleri ilgili işleve yönlendirir. TestClient ile uygulamayı sunucu başlatmadan test edersin.
from fastapi import FastAPI
from fastapi.testclient import TestClient
app = FastAPI()
@app.get("/")
def root():
return {"msg": "merhaba"}
client = TestClient(app)
print(client.get("/").text)TestClient, uygulamayı bir HTTP sunucusu gibi sorgular; yanıt gövdesini resp.text, durum kodunu resp.status_code ile alırsın.
TestClient kullanımı
TestClient(app) çağrısı bir istemci nesnesi döndürür. Bu nesne üzerinde get, post gibi metotlarla istek yaparsın. Yanıtın gövdesini resp.text ile okursun.
client = TestClient(app)
resp = client.get("/")
print(resp.status_code) # 200
print(resp.text) # gövdeTestClient, requests kitaplığıyla aynı API'yi sunar; bu yüzden kullanımı tanıdık gelir.
Uygulama FastAPI uygulamasını test et
from fastapi import FastAPI ve from fastapi.testclient import TestClient ile başla. app = FastAPI() tanımla. @app.get("/") dekoratörüyle def root(): işlevini tanımla ve return {"msg": "merhaba"} yapsın. client = TestClient(app) ile istemci oluştur. print(client.get("/").text) ile yanıt gövdesini yazdır.
Başlangıç kodu
# fastapi'den FastAPI'yi içe aktar
# TestClient'ı içe aktar
# app'i tanımla (FastAPI sınıfıyla)
# kök yola bir get işlevi ekle (msg 'merhaba' dönsün)
# TestClient ile istemci oluştur ve yanıt gövdesini yazdırÖrnek çözüm
from fastapi import FastAPI
from fastapi.testclient import TestClient
app = FastAPI()
@app.get("/")
def root():
return {"msg": "merhaba"}
client = TestClient(app)
print(client.get("/").text)Beklenen çıktı
{"msg":"merhaba"}
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 FastAPI uygulamasını sunucu başlatmadan test eden sınıf hangisi?
- HTTPServer
- FastAPI
- BaseModel
- TestClient Doğru cevap
Açıklama: TestClient, FastAPI uygulamasını bellek içi sorgular.
2 TestClient çağrısını tamamla
from fastapi.testclient import TestClient
client = ____(app)
from fastapi.testclient import TestClient
client = TestClient(app)
Açıklama: TestClient(app) ile test istemcisi oluşturulur.
3 FastAPI app kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
FastAPI() |
Uygulama oluşturur |
TestClient(app) |
İstemci verir |
client.get(url) |
İstek yapar |
resp.text |
Gövde verir |