@app.get
- Python kursu
- İleri seviye
- Ders 50/83
- 5 dk
@app.get(("/path") ile yol tanımlamayı öğrenirsin.
@app.get
@app.get("/yol") dekoratörü, bir GET yolunu bir işleve bağlar. İstek o yola geldiğinde FastAPI bu işlevi çağırır ve dönen değeri yanıta çevirir.
@app.get("/merhaba")
def merhaba():
return {"msg": "selam"}Yol dizesi, URL'in yol kısmıdır (ör. /merhaba). Dönüş değeri bir sözlükse FastAPI onu yapısal veri olarak yanıtlar.
dönüş değeri
Yol işlevi bir sözlük döndürdüğünde FastAPI onu yapısal veri biçiminde yanıta çevirir. Listeler, sayılar, dizeler de benzer şekilde otomatik dönüştürülür.
@app.get("/sayi")
def sayi():
return {"deger": 42}
# yanıt gövdesi: {"deger":42}İşlev bir BaseModel örneği döndürürse FastAPI onu da yapısal veriye çevirir. Bu, API yanıtlarını kolayca biçimlendirmeni sağlar.
Uygulama Bir GET yolu tanımla ve test et
from fastapi import FastAPI ve from fastapi.testclient import TestClient ile başla. app = FastAPI() tanımla. @app.get("/merhaba") dekoratörüyle def merhaba(): tanımla ve return {"msg": "selam"} yapsın. client = TestClient(app) ile istemci oluştur. print(client.get("/merhaba").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
# '/merhaba' yolu için bir get işlevi ekle (msg 'selam' 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("/merhaba")
def merhaba():
return {"msg": "selam"}
client = TestClient(app)
print(client.get("/merhaba").text)Beklenen çıktı
{"msg":"selam"}
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 get dekoratörünü tamamla
@____("/merhaba")
def merhaba():
return {"msg": "selam"}
@app.get("/merhaba")
def merhaba():
return {"msg": "selam"}
Açıklama: @app.get('/yol') ile GET yolu tanımlanır.
2 @app.get dekoratörü ne yapar?
- İşlevi siler
- İşlevi bir GET yoluna bağlar Doğru cevap
- İşlevi gizler
- İşlevi iki kez çağırır
Açıklama: @app.get('/yol') işlevi bir GET yoluna bağlar.
3 @app.get kavramlarını eşleştir
| Kavram | Anlamı |
|---|---|
@app.get |
GET yolu tanımlar |
/merhaba |
Yol dizesidir |
def merhaba |
İşlev tanımıdır |
return {...} |
Yanıt gövdesidir |