FastAPI ile Hızlıca CRUD Operasyonları Nasıl Oluşturulur

Bu yazıda FastAPI ile CRUD işlemlerini hızlıca nasıl uygulayacağımızı göreceğiz. FastAPI ve veritabanını kurarak başlayıp, CRUD uç noktalarını oluşturacağız.

Efe Demir

Efe Demir

5 June 2025

FastAPI ile Hızlıca CRUD Operasyonları Nasıl Oluşturulur

CRUD işlemleri, veri depolama ve alma içeren herhangi bir web uygulamasında esastır. Bu işlemler, kullanıcıların yeni kayıtlar oluşturmasına, mevcut kayıtları almasına, mevcut kayıtları güncellemesine ve bir veritabanından kayıtları silmesine olanak tanır.

FastAPI, API uç noktalarını tanımlamanın ve HTTP isteklerini işlemenin basit ve sezgisel bir yolunu sağlayarak CRUD işlemlerini uygulamayı kolaylaştırır. Etkileşimli API dokümantasyonu oluşturmak ve veri doğrulama yapmak için Python'ın tür ipuçlarından yararlanır, bu da onu sağlam ve iyi belgelenmiş API'ler oluşturmak için güçlü bir araç haline getirir.

Bu yazıda, FastAPI ile CRUD işlemlerini nasıl hızlı bir şekilde uygulayacağımızı inceleyeceğiz. FastAPI ve veritabanını kurarak başlayacak, ardından CRUD işlemleri için API uç noktalarını oluşturmaya devam edeceğiz. Ayrıca oluşturma, okuma, güncelleme ve silme işlemlerinin yanı sıra bu işlemlerin test edilmesini ve doğrulanmasını da ele alacağız. Öyleyse başlayalım ve FastAPI ve CRUD işlemlerinin dünyasına dalalım!

FastAPI'de CRUD Nedir?

FastAPI'de CRUD, bir veritabanında veya veri depolama sisteminde veriler üzerinde gerçekleştirilebilen temel işlemleri ifade eder. CRUD, Oluşturma, Okuma, Güncelleme ve Silme anlamına gelir ve çoğu uygulamada verileri yönetmek için gerekli olan temel işlevleri temsil eder.

İşte FastAPI'deki CRUD işlemlerinin ayrıntılı bir açıklaması:

FastAPI ile CRUD İşlemleri Nasıl Hızlıca Oluşturulur

FastAPI ile CRUD işlevselliğini uygulamak için şu adımları izleyin:

Adım 1: FastAPI'yi Yükleyin: Sisteminizde Python'un yüklü olduğundan emin olun ve FastAPI'yi yüklemek için komut satırında aşağıdaki komutu yürütün:

pip install fastapi

Adım 2: Bir FastAPI Uygulaması Oluşturun: Yeni bir Python dosyası (örneğin, main.py) oluşturun ve gerekli modülleri ve kitaplıkları içe aktarın:

from fastapi import FastAPI
from pydantic import BaseModel
from typing import List

app = FastAPI()

Adım 3: Veri Modellerini Tanımlayın: Veri modellerini tanımlamak için Pydantic'i kullanın. Örneğin:

class Item(BaseModel):
    id: int
    name: str
    price: float

Adım 4: CRUD Rotaları ve İşleyiciler Oluşturun: CRUD işlemleri için rotalar ve ilgili işlevleri işlemek için FastAPI'yi kullanın. İşte bir örnek:

items = []

@app.get("/items", response_model=List[Item])
async def read_items():
    return items

@app.post("/items", response_model=Item)
async def create_item(item: Item):
    items.append(item)
    return item

@app.put("/items/{item_id}", response_model=Item)
async def update_item(item_id: int, item: Item):
    items[item_id] = item
    return item

@app.delete("/items/{item_id}")
async def delete_item(item_id: int):
    del items[item_id]
    return {"message": "Item deleted"}

Adım 5: Uygulamayı Çalıştırın: FastAPI uygulamasını çalıştırmak ve APIRouter işlevselliğini test etmek için uvicorn gibi bir ASGI sunucusu kullanın. uvicorn'un yüklü olduğundan emin olun:

pip install uvicorn

IDE düzenleyicinizde, terminali açın, main.py dosyasının saklandığı dizine gidin ve uygulamayı başlatmak için aşağıdaki komutu çalıştırın:

uvicorn main:app --reload

Bu, FastAPI uygulamasını varsayılan bağlantı noktasında (genellikle 8000) otomatik yeniden yükleme etkinleştirilmiş olarak başlatacaktır, böylece kod değişiklikleri yaptığınızda uygulama otomatik olarak yeniden yüklenecektir.

Adım 6: CRUD İşlemini Test Edin

İstek göndermek ve Oluşturma, Okuma, Güncelleme ve Silme işlevlerini test etmek için bir HTTP istemci aracı (örneğin, cURL veya Apidog) kullanın. İşte bazı örnek istekler:

POST http://localhost:8000/items
{
    "id": 1,
    "name": "Apple",
    "price": 0.5
}
 a POST request
GET http://localhost:8000/items
a GET request
GET http://localhost:8000/items
a PUT request
DELETE http://localhost:8000/items/1
 a DELETE request

Son olarak, Apidog'da silme işlemi için testler yazabiliriz. Silme uç noktasına bir DELETE isteği simüle edebilir ve yanıt durum kodunun 200 (başarılı bir silmeyi gösterir) olup olmadığını kontrol edebiliriz. Daha sonra silinen verileri veritabanından almaya çalışabilir ve bunların mevcut olmadığını sağlayabiliriz.

Bu testleri yazarak, CRUD işlemlerimizin doğru çalıştığından ve geçersiz giriş veya mevcut olmayan veriler gibi farklı senaryoları ele aldığından emin olabiliriz.

Bonus İpuçları

Kod tamamlama, hata kontrolü ve hata ayıklama özellikleri ile geliştirilmiş geliştirme verimliliği için Visual Studio Code gibi IDE desteği kullanın.

Bu uygulamaları izleyerek, geliştirme ve dağıtım sürecinizi kolaylaştırarak FastAPI ile sağlam ve verimli API'ler geliştirebilirsiniz.

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin