CodeBlanks Logo Icon CodeBlanks

FastAPI app

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övde

TestClient, 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

main.py
# 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

main.py
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

Soru
from fastapi.testclient import TestClient

client = ____(app)
Cevap
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

İleri seviye bölümündeki tüm dersler