FastAPI ile REST API Oluşturma Süreci

0 Réponses 1 Vues
·
Participants
Auteur de la discussion #1
Giriş ve Temel Kavramlar
FastAPI, Python tabanlı modern ve yüksek performanslı web framework'üdür. REST API geliştirme sürecini oldukça sade hale getirir; çünkü otomatik olarak API dokümantasyonu üretir ve pydantic ile veri doğrulama sağlar. Bu, özellikle mikroservis mimarisi ve hızlı prototipleme için ideal bir seçenektir.

Adım Adım REST API Oluşturma
  1. Kurulum

İlk olarak, FastAPI ve uyumlu bir ASGI sunucusu olan uvicorn'u yüklemek gerekir:
CODE
1pip install fastapi uvicorn


  1. Basit API Tanımı

Örneğin, kullanıcı bilgilerini yönetecek basit bir API oluşturalım:
CODE
123456789101112131415161718192021from fastapi import FastAPI  
from pydantic import BaseModel

app = FastAPI()

class User(BaseModel):  
    id: int  
    name: str  
    email: str

[b]Kullanıcıları tutacak in-memory liste[/b]
users = []

@app.get("/users/")  
def get_users():  
    return users

@app.post("/users/")  
def create_user(user: User):  
    users.append(user)  
    return {"message": "Kullanıcı eklendi", "user": user}  


Bu kodda, GET ve POST metodlarıyla kullanıcı listesi alınabilir ve yeni kullanıcı eklenebilir. Pydantic modeli, gelen verilerin doğrulanmasını sağlar.

  1. API'yi Çalıştırmak

Uvicorn ile API'yi başlatmak için komut:
CODE
1uvicorn main:app --reload

Burada main dosya adıdır, app ise FastAPI nesnesi.

  1. Otomatik Dokümantasyon

API çalışırken, http://127.0.0.1:8000/docs adresinde Swagger UI üzerinden API'yi keşfedebilirsiniz. Ayrıca, ReDoc dokümantasyonu için http://127.0.0.1:8000/redoc kullanılabilir.

Sonuç ve Değerlendirme
FastAPI, minimal ve okunabilir kod yapısıyla hızlı bir REST API geliştirmeyi sağlar. Ayrıca, otomatik dokümantasyon ve veri doğrulama gibi özellikleriyle, hem geliştirme sürecini kolaylaştırır hem de güvenilirliği artırır.

Herhangi bir projede, bu yapıyı temel alarak karmaşık endpoint'ler ve veri modelleri eklenebilir.
İşte, temel bilgilerle başlamanın ve genişletmenin yolu bu şekildedir.

Vous devez être connecté pour répondre.

0 citations sélectionnées