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ı
Sonrasında, `Field` ifadesini model özellikleri ile kullanabilirsiniz:
`Field` ifadesi `Query`, `Path` ve `Body` ifadeleri gibi çalışır ve aynı parametrelere sahiptir vb.
=== "Python 3.8+ Annotated'sız"
/// note | Teknik Detaylar
!!! tip "İpucu"
Mümkün oldukça `Annotated`'lı versiyonu kullanmaya özen gösteriniz.
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.
`Field` ifadesi `Query`, `Path` ve `Body` ifadeleri gibi çalışır ve aynı parametrelere sahiptir vb.
`Body` ifadesi de direkt olarak `FieldInfo` alt sınıfının örneklerini geriye döndürür. Bunların haricinde, ileride göreceğiniz `Body` sınıfının alt sınıfları da mevcuttur.
!!! 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.
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.
Pydantic paketindeki `Field` ifadesi de geriye bir `FieldInfo` örneği döndürür.
///
`Body` ifadesi de direkt olarak `FieldInfo` alt sınıfının örneklerini geriye döndürür. Bunların haricinde, ileride göreceğiniz `Body` sınıfının alt sınıfları da mevcuttur.
/// tip | İpucu
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.
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.
!!! 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.
///
## Ek Bilgi Tanımı
@ -105,9 +46,13 @@ Sonrasında, `Field` ifadesini model özellikleri ile kullanabilirsiniz:
Dokümantasyona ek bilgi tanımı yapmak, örnek tanımlamaları öğrenilirken irdilenecektir.
!!! warning "Uyarı"
`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.
/// warning | Uyarı
`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.