İ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
Why Validate Request Data?
- 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
- İ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
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
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
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
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
Optional Fields & Default Values
- Varsayılan olarak
Noneolan isteğe bağlı alanlar içinfield: str | None = Nonekullanın. - Alan sağlanmazsa belirli bir varsayılan değer ayarlamak için
field: int = 0kullanın.
Bu esneklik, sağlam ve kullanıcı dostu API şemaları tasarlamanıza olanak tanır.
Pydantic Models Check
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
- İstek Gövdesi için Pydantic Modelleri
- Yanıt Modelleri ve Durum Kodları
- Form Verileri ve Dosya Yüklemeleri
- Üst Bilgiler, Çerezler ve Özel Yanıtlar