0Pricing
FastAPI Backend Development Bootcamp · Ders

FastAPI'de Bağımlılıkları Anlama

Bağımlılık ekleme kavramını ve bunun FastAPI'de kod düzenleme ile yeniden kullanılabilirliği nasıl kolaylaştırdığını keşfedin.

FastAPI'de Bağımlılıkları Anlama, CoddyKit'te ücretsiz bir FastAPI Backend Development Bootcamp dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, FastAPI Backend Development Bootcamp öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. FastAPI Backend Development Bootcamp kursu toplamda 4 dersten oluşur.

What is Dependency Injection?

Fonksiyonlarınızın ihtiyaç duydukları araçları sihirli bir şekilde almasını hiç dilediniz mi? İşte **Bağımlılık Enjeksiyonu (DI)** bununla ilgilenir! FastAPI'de DI, bileşenlerin (API uç noktalarınız gibi) bağımlılıklarını oluşturmadığı güçlü bir tasarım desenidir. Bunun yerine, neye ihtiyaç duyduklarını beyan ederler ve FastAPI bunları "enjekte eder".

Benefits of FastAPI DI

FastAPI, kodunuzu şu nedenlerle kapsamlı bir şekilde Bağımlılık Enjeksiyonu (DI) kullanır:

  • Yeniden Kullanılabilir: Mantığı bir kez yazın, her yerde kullanın.
  • Test Edilebilir: Testler için gerçek servisleri mock (sahte) sürümlerle kolayca değiştirin.
  • Temiz: Yol operasyon fonksiyonlarını ana görevlerine odaklanmış tutar.
  • Bakımı Yapılabilir: Bağımlılıklardaki değişiklikler uygulamanızın tamamına yayılmaz.

Crafting a Basic Dependency

FastAPI'deki bir bağımlılık genellikle sıradan bir Python fonksiyonudur.

Bu fonksiyon, ana API mantığınız çalışmadan önce gereken herhangi bir kurulum, doğrulama veya kaynak edinimi gerçekleştirebilir. Hatta bir değer döndürebilir.

FastAPI, bu fonksiyonu otomatik olarak çağıracak ve sonucunu uç noktanıza iletecektir.

Injecting into an Endpoint

Bir bağımlılığı kullanmak için, FastAPI'nin özel Depends işlevini kullanarak yol işlem işlevinizde bir parametre olarak bildirirsiniz. Bir istek geldiğinde, FastAPI uç noktanızın parametrelerini kontrol eder, bağımlılıkları çözer ve ardından uç noktanızı sonuçlarla çağırır.

Simple Dependency in Action

Basit bir dize döndüren temel bir bağımlılığı görelim. FastAPI'nin read_root'tan önce get_message'ı nasıl çağırdığına dikkat edin.
from fastapi import FastAPI, Depends

app = FastAPI()

def get_message():
    return "Hello from dependency!"

@app.get("/")
async def read_root(message: str = Depends(get_message)):
    return {"message": message}

# To run this:
# 1. Save as main.py
# 2. pip install fastapi uvicorn
# 3. uvicorn main:app --reload
# Then visit http://127.0.0.1:8000/

Dependencies Can Have Params

Bağımlılıklar basit fonksiyonlarla sınırlı değildir. Kendi parametrelerini de alabilirler ve FastAPI bunları da çözecektir. Bu, bir bağımlılığın kendisinin başka bağımlılıklara da bağlı olabileceği, bir zincir oluşturabileceği anlamına gelir! Karmaşık mantık oluşturmak için süper güçlüdür.

Dependency Taking Input

Burada, greet_user bir name alan bir bağımlılıktır. Sorguda name sağlanmazsa, varsayılan olarak 'Guest' olur.
from fastapi import FastAPI, Depends

app = FastAPI()

def greet_user(name: str = "Guest"):
    return f"Hello, {name}!"

@app.get("/greet/")
async def say_hello(greeting: str = Depends(greet_user)):
    return {"greeting": greeting}

# To run this:
# uvicorn main:app --reload
# Visit http://127.0.0.1:8000/greet/
# And http://127.0.0.1:8000/greet/?name=Coddy

Understanding `Depends()`

Uç noktanızı bir bağımlılığa bağlayan sihirli parça, Depends() işlevidir.

  • FastAPI'ye şunu söyler: "Hey, bu işlevi çalıştırmadan önce lütfen bu bağımlılığı çözün."
  • Bağımlılık işlevinizi (veya çağrılabilirinizi) doğrudan Depends()'e geçirirsiniz, sonucunu değil.
  • FastAPI, bağımlılık işlevinizi sizin için çağırmayı halleder.

Use Cases for Dependencies

Bağımlılıklar şunlar için mükemmeldir:

  • Veritabanı bağlantıları: Her istek için bir oturum alın.
  • Kimlik doğrulama: Kullanıcı kimlik bilgilerini doğrulayın.
  • Yetkilendirme: Kullanıcı rollerini/izinlerini kontrol edin.
  • Paylaşılan mantık: Birden çok uç noktanın ihtiyaç duyduğu herhangi bir kod.

API'nizi temiz ve odaklanmış tutarlar.

Dependency Concept Check

Aşağıdaki FastAPI kod örneğini dikkate alın: ```python from fastapi import FastAPI, Depends app = FastAPI() def get_db_session(): # Bunun bir veritabanına bağlandığını hayal edin return "Database Session Object" @app.get("/items/") async def read_items(session: str = Depends(get_db_session)): return {"message": f"Using {session}"} ``` `/items/` adresine bir istek yapıldığında, `read_items` fonksiyonunun içindeki `session` değişkeninin değeri ne olacaktır?

Recap: Dependencies Unveiled

FastAPI'de ustalaşma yolunda **Bağımlılık Enjeksiyonu**'nu anlayarak çok önemli bir adım attınız!
  • Bağımlılıklar, uç noktanızdan önce FastAPI'nin çalıştırdığı fonksiyonlardır.
  • Kodunuzu modüler, yeniden kullanılabilir ve test edilebilir tutarlar.
  • Bunları param: Type = Depends(your_dependency_func) kullanarak bildirirsiniz.
Daha yaygın ve gelişmiş bağımlılık kalıplarını inceleyeceğiz!

Sıkça Sorulan Sorular

“FastAPI'de Bağımlılıkları Anlama” dersi ücretsiz mi?

Evet — “FastAPI'de Bağımlılıkları Anlama” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve FastAPI Backend Development Bootcamp kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. FastAPI Backend Development Bootcamp kursu toplamda 4 dersten oluşur.

“FastAPI'de Bağımlılıkları Anlama” dersinde ne öğreneceğim?

Bağımlılık ekleme kavramını ve bunun FastAPI'de kod düzenleme ile yeniden kullanılabilirliği nasıl kolaylaştırdığını keşfedin. FastAPI Backend Development Bootcamp ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

FastAPI Backend Development Bootcamp öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te FastAPI Backend Development Bootcamp, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“FastAPI'de Bağımlılıkları Anlama” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu FastAPI Backend Development Bootcamp dersinde kod yazıp çalıştırabilir miyim?

Evet. Her FastAPI Backend Development Bootcamp dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. FastAPI'de Bağımlılıkları Anlama
  2. Yaygın Bağımlılıkları Ekleme
  3. Sınıf Tabanlı ve Yield Bağımlılıkları
  4. Genel Bağımlılıklar ve Alt Bağımlılıklar
← FastAPI Backend Development Bootcamp Sayfasına Dön