CodeBlanks Logo Icon CodeBlanks

Özet - FastAPI

@app.get, Pydantic ve path parametresini birleştirerek bir görev API'si yazarsın.

Özet - FastAPI

Bu grupta FastAPI'nin temel kavramlarını öğrendin. FastAPI() uygulama, @app.get GET yolu, BaseModel istek gövdesi, path parametresi URL yolu, query parametresi URL sorgusu için kullanılır.

@app.get("/tasks/{task_id}")
def read(task_id: int, q: str = None):
    return {"task_id": task_id, "q": q}

Son adımda tüm bunları birleştirerek bir görev API'si yazacaksın.

Uygulama Görev API'si

from fastapi import FastAPI ve from fastapi.testclient import TestClient ile başla. app = FastAPI() tanımla. @app.get("/tasks/{task_id}") dekoratörüyle def read(task_id: int, q: str = None): tanımla ve return {"task_id": task_id, "q": q} yapsın. client = TestClient(app) ile istemci oluştur. print(client.get("/tasks/5?q=ara").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
# '/tasks/{task_id}' yolu için bir get işlevi ekle (task_id: int, q: str = None)
# TestClient ile istemci oluştur, '/tasks/5?q=ara' yolunu sorgula ve gövdeyi yazdır

Örnek çözüm

main.py
from fastapi import FastAPI
from fastapi.testclient import TestClient

app = FastAPI()

@app.get("/tasks/{task_id}")
def read(task_id: int, q: str = None):
    return {"task_id": task_id, "q": q}

client = TestClient(app)
print(client.get("/tasks/5?q=ara").text)

Beklenen çıktı

{"task_id":5,"q":"ara"}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi bir path parametresi bildirir?

  • @app.get("/items")
  • @app.get("/items/{id}") Doğru cevap
  • @app.get("/items?id=5")
  • @app.get("/")

Açıklama: {id} yer tutucusu bir path parametresi bildirir.

2 Grup araçlarını eşleştir

Kavram Anlamı
FastAPI() Uygulama oluşturur
@app.get GET yolu tanımlar
BaseModel İstek gövdesidir
{item_id} Path parametresidir

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