CodeBlanks Logo Icon CodeBlanks

@app.get

@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

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

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

Soru
@____("/merhaba")
def merhaba():
    return {"msg": "selam"}
Cevap
@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

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