0Pricing
FastAPI Backend Development Bootcamp · Ders

İstek Gövdesi için Pydantic Modelleri

Gelen POST, PUT ve DELETE istekleri için veri şemaları tanımlamak ve güçlü veri doğrulaması sağlamak üzere Pydantic'i kullanın.

İstek Gövdesi için Pydantic Modelleri, CoddyKit'te ücretsiz bir FastAPI Backend Development Bootcamp dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, FastAPI Backend Development Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. FastAPI Backend Development Bootcamp kursu toplamda 4 dersten oluşur.

API Request Bodies

Bir API'ye veri gönderdiğinizde, yeni bir kullanıcı veya öğe oluşturma gibi, bu veri genellikle istek gövdesinde gönderilir. Örneğin, yeni bir ürün oluşturmak için yapılan bir istek, ürünün adını, fiyatını ve açıklamasını içerebilir. Bu gelen verinin doğru ve geçerli olmasını sağlamak, uygulamanızın kararlılığı ve güvenliği için çok önemlidir.

Why Validate Request Data?

Gelen verileri doğrulamak birkaç nedenden dolayı zorunludur:
  • Veri Bütünlüğü: Veritabanınızın yalnızca doğru biçimlendirilmiş ve anlamlı bilgiler almasını sağlar.
  • Güvenlik: Kötü amaçlı veya hatalı biçimlendirilmiş verilerin hatalara veya güvenlik açıklarına neden olmasını önler.
  • Kullanıcı Deneyimi: Kullanıcıların girdileri yanlış olduğunda onlara net hata mesajları sunar.
  • Kod Güvenilirliği: Uygulama mantığınızın beklenen veri türleri üzerinde çalışmasını garanti ederek hataları azaltır.

Meet Pydantic

Pydantic, Python tip tiplerini kullanarak veri doğrulama ve ayar yönetimi sağlayan bir Python kütüphanesidir. İnanılmaz derecede hızlıdır ve FastAPI ile sorunsuz bir şekilde entegre olur. FastAPI, arka planda şunları yapmak için Pydantic kullanır:
  • İstek gövdelerini Python nesnelerine ayrıştırmak.
  • Veri tiplerini ve kısıtlamaları doğrulamak.
  • Doğrulama başarısız olursa net hata mesajları oluşturmak.

Creating Your First Pydantic Model

İstek gövdeniz için bir veri yapısı tanımlamak üzere, Pydantic'in BaseModel'inden miras alan bir sınıf oluşturursunuz. Ardından standart Python tür ipuçlarını kullanarak alanları bildirirsiniz. Bu model bir şema görevi görerek API'nizin hangi verileri beklediğini belirtir.

Pydantic Model in Action

Basit bir Item modeli tanımlayalım. name'i bir dize ve price'ı bir ondalık sayı olarak nasıl belirttiğimize dikkat edin. Ayrıca doğrulamasını nasıl ele aldığını da göstereceğiz!
from pydantic import BaseModel, ValidationError

class Item(BaseModel):
    name: str
    price: float
    description: str | None = None # Optional field

def main():
    print("--- Valid Item ---")
    try:
        item1 = Item(name="Laptop", price=1200.50)
        print(item1.model_dump_json(indent=2))
    except ValidationError as e:
        print(e.json())

    print("\n--- Invalid Item (missing price) ---")
    try:
        item2 = Item(name="Keyboard")
        print(item2.model_dump_json(indent=2))
    except ValidationError as e:
        print(e.json())

if __name__ == "__main__":
    main()

FastAPI and Pydantic Synergy

FastAPI, uç nokta işlev parametrelerinizdeki Pydantic BaseModel nesnelerini otomatik olarak tanır. Bir istek geldiğinde FastAPI şunları yapar:

  • JSON istek gövdesini okur.
  • Verileri ayrıştırmak ve doğrulamak için Pydantic modelinizi kullanır.
  • Doğrulanmış verileri modelinizin bir örneği olarak işlevinize enjekte eder.

Bu sihirli!

Building a POST Endpoint

İşte FastAPI'de istek gövdesinde bir Item bekleyen bir POST uç noktasını nasıl tanımlayacağınız. FastAPI tüm ayrıştırma ve doğrulama işlemlerini sizin için halleder!
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    description: str | None = None
    tax: float | None = None

@app.post("/items/")
async def create_item(item: Item):
    # The 'item' variable is now an Item object,
    # already validated by Pydantic!
    return {"message": "Item received successfully!", "item": item.model_dump()}

# To run this application:
# 1. Save the code as main.py
# 2. Run in terminal: uvicorn main:app --reload
# 3. Send a POST request to http://127.0.0.1:8000/items/
#    with a JSON body like: {"name": "Book", "price": 29.99}

Automatic Validation & Errors

Bir istemci, Pydantic modelinizle eşleşmeyen veriler (örneğin, zorunlu bir alanın eksik olması veya yanlış veri türü) gönderirse, FastAPI otomatik olarak ayrıntılı bir 422 İşlenemez Varlık hata yanıtı döndürür. Bu hata mesajı otomatik olarak oluşturulur ve hem istemci tarafındaki hem de API sorunlarının hata ayıklaması için çok yararlıdır.

Optional Fields & Default Values

İstek gövdenizdeki tüm alanların zorunlu olması gerekmez. Alanları isteğe bağlı yapabilir veya varsayılan değerler sağlayabilirsiniz:

  • Varsayılan olarak None olan isteğe bağlı alanlar için field: str | None = None kullanın.
  • Alan sağlanmazsa belirli bir varsayılan değer ayarlamak için field: int = 0 kullanın.

Bu esneklik, sağlam ve kullanıcı dostu API şemaları tasarlamanıza olanak tanır.

Pydantic Models Check

Aşağıdaki ifadelerden hangileri FastAPI'deki Pydantic modelleri hakkında DOĞRUDUR?

Recap: Pydantic Power

FastAPI'de istek gövdelerini işlemek için Pydantic modellerinin ne kadar temel olduğunu öğrendiniz. Sağlam veri doğrulaması, otomatik ayrıştırma ve net hata mesajları sağlayarak API geliştirmenizi çok daha sorunsuz ve güvenilir hale getirirler.

Şimdi, açık yanıt modellerini nasıl tanımlayacağımızı ve çeşitli API işlemleri için HTTP durum kodlarını nasıl yöneteceğimizi keşfedeceğiz!

Sıkça Sorulan Sorular

“İstek Gövdesi için Pydantic Modelleri” dersi ücretsiz mi?

Evet — “İstek Gövdesi için Pydantic Modelleri” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve FastAPI Backend Development Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. FastAPI Backend Development Bootcamp kursu toplamda 4 dersten oluşur.

“İstek Gövdesi için Pydantic Modelleri” dersinde ne öğreneceğim?

Gelen POST, PUT ve DELETE istekleri için veri şemaları tanımlamak ve güçlü veri doğrulaması sağlamak üzere Pydantic'i kullanın. FastAPI Backend Development Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

FastAPI Backend Development Bootcamp öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te FastAPI Backend Development Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“İstek Gövdesi için Pydantic Modelleri” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu FastAPI Backend Development Bootcamp dersinde kod yazıp çalıştırabilir miyim?

Evet. Her FastAPI Backend Development Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. İstek Gövdesi için Pydantic Modelleri
  2. Yanıt Modelleri ve Durum Kodları
  3. Form Verileri ve Dosya Yüklemeleri
  4. Üst Bilgiler, Çerezler ve Özel Yanıtlar
← FastAPI Backend Development Bootcamp Sayfasına Dön