committed by
GitHub
1 changed files with 61 additions and 0 deletions
@ -0,0 +1,61 @@ |
|||
# Gövde - Alanlar |
|||
|
|||
*Yol operasyon fonksiyonlarındaki* parametreler için `Query`, `Path` ve `Body` ifadeleri ile ek doğrulama ve üstveri tanımlayabileceğiniz gibi Pydantic'in `Field` ifadesini kullanarak Pydantic modelleri içerisinde de doğrulama ve üstveri tanımı yapabilirsiniz. |
|||
|
|||
## `Field` İfadesini İçeri Aktaralım |
|||
|
|||
Öncelikle, ifadeyi içeri aktarmamız gerekir: |
|||
|
|||
{* ../../docs_src/body_fields/tutorial001_an_py310.py hl[4] *} |
|||
|
|||
/// warning | Uyarı |
|||
|
|||
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: |
|||
|
|||
{* ../../docs_src/body_fields/tutorial001_an_py310.py hl[11:14] *} |
|||
|
|||
`Field` ifadesi `Query`, `Path` ve `Body` ifadeleri gibi çalışır ve aynı parametrelere sahiptir vb. |
|||
|
|||
/// 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. |
|||
|
|||
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. |
|||
|
|||
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 |
|||
|
|||
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ı |
|||
|
|||
`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. |
|||
|
|||
/// 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. |
|||
|
|||
/// |
|||
|
|||
## Özet |
|||
|
|||
Model özellikleri bazında ek doğrulama ve üstveri tanımları için Pydantic paketindeki `Field` ifadesinden faydalanabilirsiniz. |
|||
|
|||
Ayrıca, ek anahtar kelime argümanlarını kullanarak da JSON Şemasına ek üstveri geçebilirsiniz. |
Loading…
Reference in new issue