4.3 KiB
Path Operation Yapılandırması
Onu yapılandırmak için path operation decorator’ınıza geçebileceğiniz çeşitli parametreler vardır.
/// warning | Uyarı
Bu parametrelerin path operation function’ınıza değil, doğrudan path operation decorator’ına verildiğine dikkat edin.
///
Response Status Code
Path operation’ınızın response’unda kullanılacak (HTTP) status_code’u tanımlayabilirsiniz.
404 gibi int kodu doğrudan verebilirsiniz.
Ancak her sayısal kodun ne işe yaradığını hatırlamıyorsanız, status içindeki kısayol sabitlerini kullanabilirsiniz:
{* ../../docs_src/path_operation_configuration/tutorial001_py310.py hl[1,15] *}
Bu status code response’da kullanılacak ve OpenAPI şemasına eklenecektir.
/// note | Teknik Detaylar
from starlette import status da kullanabilirsiniz.
FastAPI, geliştirici olarak işinizi kolaylaştırmak için starlette.status’u fastapi.status olarak da sunar. Ancak kaynağı doğrudan Starlette’tir.
///
Tags
Path operation’ınıza tag ekleyebilirsiniz; tags parametresine str öğelerinden oluşan bir list verin (genellikle tek bir str):
{* ../../docs_src/path_operation_configuration/tutorial002_py310.py hl[15,20,25] *}
Bunlar OpenAPI şemasına eklenecek ve otomatik dokümantasyon arayüzleri tarafından kullanılacaktır:
Enum ile Tags
Büyük bir uygulamanız varsa, zamanla birden fazla tag birikebilir ve ilişkili path operation’lar için her zaman aynı tag’i kullandığınızdan emin olmak isteyebilirsiniz.
Bu durumlarda tag’leri bir Enum içinde tutmak mantıklı olabilir.
FastAPI bunu düz string’lerde olduğu gibi aynı şekilde destekler:
{* ../../docs_src/path_operation_configuration/tutorial002b_py310.py hl[1,8:10,13,18] *}
Özet ve açıklama
Bir summary ve description ekleyebilirsiniz:
{* ../../docs_src/path_operation_configuration/tutorial003_py310.py hl[17:18] *}
Docstring’den Açıklama
Açıklamalar genelde uzun olur ve birden fazla satıra yayılır; bu yüzden path operation açıklamasını, fonksiyonun içinde docstring olarak tanımlayabilirsiniz; FastAPI de onu buradan okur.
Docstring içinde Markdown yazabilirsiniz; doğru şekilde yorumlanır ve gösterilir (docstring girintisi dikkate alınarak).
{* ../../docs_src/path_operation_configuration/tutorial004_py310.py hl[17:25] *}
Interactive docs’ta şöyle kullanılacaktır:
Response description
response_description parametresi ile response açıklamasını belirtebilirsiniz:
{* ../../docs_src/path_operation_configuration/tutorial005_py310.py hl[18] *}
/// info | Bilgi
response_description özellikle response’u ifade eder; description ise genel olarak path operation’ı ifade eder.
///
/// check | Ek bilgi
OpenAPI, her path operation için bir response description zorunlu kılar.
Bu yüzden siz sağlamazsanız, FastAPI otomatik olarak "Successful response" üretir.
///
Bir path operation’ı Deprecate Etmek
Bir path operation’ı kaldırmadan, deprecated olarak işaretlemeniz gerekiyorsa deprecated parametresini verin:
{* ../../docs_src/path_operation_configuration/tutorial006_py310.py hl[16] *}
Interactive docs’ta deprecated olduğu net şekilde işaretlenecektir:
Deprecated olan ve olmayan path operation’ların nasıl göründüğüne bakın:
Özet
Path operation’larınızı, path operation decorator’larına parametre geçirerek kolayca yapılandırabilir ve metadata ekleyebilirsiniz.