fastapi/docs/tr/docs/advanced/sub-applications.md

3.3 KiB
Raw Blame History

Alt Uygulamalar - Mount İşlemi

Kendi bağımsız OpenAPI şemaları ve kendi dokümantasyon arayüzleri olan iki bağımsız FastAPI uygulamasına ihtiyacınız varsa, bir ana uygulama oluşturup bir (veya daha fazla) alt uygulamayı "mount" edebilirsiniz.

Bir FastAPI uygulamasını mount etmek

"Mount" etmek, belirli bir path altında tamamen "bağımsız" bir uygulamayı eklemek anlamına gelir. Ardından o pathin altındaki her şeyi, alt uygulamada tanımlanan path operationlar ile o alt uygulama yönetir.

Üst seviye uygulama

Önce ana, üst seviye FastAPI uygulamasını ve onun path operationlarını oluşturun:

{* ../../docs_src/sub_applications/tutorial001_py39.py hl[3, 6:8] *}

Alt uygulama

Sonra alt uygulamanızı ve onun path operationlarını oluşturun.

Bu alt uygulama da standart bir FastAPI uygulamasıdır; ancak "mount" edilecek olan budur:

{* ../../docs_src/sub_applications/tutorial001_py39.py hl[11, 14:16] *}

Alt uygulamayı mount edin

Üst seviye uygulamanızda (app), alt uygulama subapiyi mount edin.

Bu örnekte /subapi pathine mount edilecektir:

{* ../../docs_src/sub_applications/tutorial001_py39.py hl[11, 19] *}

Otomatik API dokümanlarını kontrol edin

Şimdi dosyanızla birlikte fastapi komutunu çalıştırın:

$ fastapi dev main.py

<span style="color: green;">INFO</span>:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)

Ardından http://127.0.0.1:8000/docs adresinden dokümanlarıın.

Ana uygulama için otomatik API dokümanlarını göreceksiniz; yalnızca onun kendi path operationlarını içerir:

Sonra alt uygulamanın dokümanlarını http://127.0.0.1:8000/subapi/docs adresinden açın.

Alt uygulama için otomatik API dokümanlarını göreceksiniz; yalnızca onun kendi path operationlarını içerir ve hepsi doğru alt-path öneki /subapi altında yer alır:

İki arayüzden herhangi biriyle etkileşime girmeyi denerseniz doğru şekilde çalıştıklarını görürsünüz; çünkü tarayıcı her bir uygulama ya da alt uygulama ile ayrı ayrı iletişim kurabilir.

Teknik Detaylar: root_path

Yukarıda anlatıldığı gibi bir alt uygulamayı mount ettiğinizde FastAPI, ASGI spesifikasyonundaki root_path adlı bir mekanizmayı kullanarak alt uygulamaya mount pathini iletmeyi otomatik olarak yönetir.

Bu sayede alt uygulama, dokümantasyon arayüzü için o path önekini kullanması gerektiğini bilir.

Ayrıca alt uygulamanın kendi mount edilmiş alt uygulamaları da olabilir; FastAPI tüm bu root_pathleri otomatik olarak yönettiği için her şey doğru şekilde çalışır.

root_path hakkında daha fazlasını ve bunu açıkça nasıl kullanacağınızı Behind a Proxy{.internal-link target=_blank} bölümünde öğreneceksiniz.