Fark ettiyseniz, `Field` ifadesi diğer ifadelerin (`Query`, `Path`, `Body`, vb) aksine `fastapi` paketinden değil direkt olarak `pydantic` paketinden içeri aktarılmıştır.
Fark ettiyseniz, `Field` ifadesi diğer ifadelerin (`Query`, `Path`, `Body`, vb) aksine `fastapi` paketinden değil direkt olarak `pydantic` paketinden içeri aktarılmıştır.
///
## Model Özellikleri Tanımları
## Model Özellikleri Tanımları
Sonrasında, `Field` ifadesini model özellikleri ile kullanabilirsiniz:
Sonrasında, `Field` ifadesini model özellikleri ile kullanabilirsiniz:
`Field` ifadesi `Query`, `Path` ve `Body` ifadeleri gibi çalışır ve aynı parametrelere sahiptir vb.
`Field` ifadesi `Query`, `Path` ve `Body` ifadeleri gibi çalışır ve aynı parametrelere sahiptir vb.
!!! note "Teknik Detaylar"
/// note | Teknik Detaylar
Aslında, `Query`, `Path` ve ileride göreceğiniz diğer ifadeler, Pydantic paketinde bulunan `FieldInfo` sınıfının bir alt sınıfı olan ortak `Param` sınıfının alt sınıflarının örneklerini oluştururlar.
Aslında, `Query`, `Path` ve ileride göreceğiniz diğer ifadeler, Pydantic paketinde bulunan `FieldInfo` sınıfının bir alt sınıfı olan ortak `Param` sınıfının alt sınıflarının örneklerini oluştururlar.
Pydantic paketindeki `Field` ifadesi de geriye bir `FieldInfo` örneği döndürür.
Pydantic paketindeki `Field` ifadesi de geriye bir `FieldInfo` örneği döndürür.
@ -96,19 +32,28 @@ Sonrasında, `Field` ifadesini model özellikleri ile kullanabilirsiniz:
Unutmayınız ki, `Query`, `Path` ve `fastapi` paketinden içeri aktardığınız diğer ifadeler, geriye özel sınıf döndüren fonksiyonlardır.
Unutmayınız ki, `Query`, `Path` ve `fastapi` paketinden içeri aktardığınız diğer ifadeler, geriye özel sınıf döndüren fonksiyonlardır.
!!! tip "İpucu"
///
/// tip | İpucu
Fark ettiyseniz, her model özelliğinin, *yol operasyon fonksiyonu* parametrelerindeki yapı gibi bir tipi, varsayılan değeri ve `Path`, `Query` ve `Body` ifadelerinin aksine `Field` ifadesi vardır.
Fark ettiyseniz, her model özelliğinin, *yol operasyon fonksiyonu* parametrelerindeki yapı gibi bir tipi, varsayılan değeri ve `Path`, `Query` ve `Body` ifadelerinin aksine `Field` ifadesi vardır.
///
## Ek Bilgi Tanımı
## Ek Bilgi Tanımı
`Field`, `Query`, `Body` vb. ifadelere ek bilgi tanımları yapılabilir ve bu tanımlamalar, oluşturulan JSON Şemasına dahil edilir.
`Field`, `Query`, `Body` vb. ifadelere ek bilgi tanımları yapılabilir ve bu tanımlamalar, oluşturulan JSON Şemasına dahil edilir.
Dokümantasyona ek bilgi tanımı yapmak, örnek tanımlamaları öğrenilirken irdilenecektir.
Dokümantasyona ek bilgi tanımı yapmak, örnek tanımlamaları öğrenilirken irdilenecektir.
!!! warning "Uyarı"
/// warning | Uyarı
`Field` ifadesine geçilen ek anahtarlar da uygulamanızdaki OpenAPI şemasında mevcut olacaktır.
`Field` ifadesine geçilen ek anahtarlar da uygulamanızdaki OpenAPI şemasında mevcut olacaktır.
Bu anahtarlar, OpenAPI spesifikasyonunun bir parçası olmak zorunda olmadıklarından dolayı [OpenAPI doğrulayıcısı](https://validator.swagger.io/) gibi bazı OpenAPI araçları, oluşturulan şemalar ile uyumlu çalışmayabilir.
Bu anahtarlar, OpenAPI spesifikasyonunun bir parçası olmak zorunda olmadıklarından dolayı [OpenAPI doğrulayıcısı](https://validator.swagger.io/) gibi bazı OpenAPI araçları, oluşturulan şemalar ile uyumlu çalışmayabilir.
///
## Özet
## Özet
Model özellikleri bazında ek doğrulama ve üstveri tanımları için Pydantic paketindeki `Field` ifadesinden faydalanabilirsiniz.
Model özellikleri bazında ek doğrulama ve üstveri tanımları için Pydantic paketindeki `Field` ifadesinden faydalanabilirsiniz.