Organizarea Modulară cu APIRouter în FastAPI în FastAPI

routing FastAPI 0.110+ / Python 3.10+ Q&A / Distribuie cod

Structurarea proiectelor mari FastAPI în module independente folosind APIRouter: prefixe de rute, etichete și dependențe comune.

Sintaxă
app.include_router(users.router, prefix="/api/v1/users", tags=["Utilizatori"])

Pe măsură ce o aplicație crește, plasarea tuturor rutelor în fișierul principal main.py devine imposibil de întreținut. Clasa APIRouter permite izolarea endpoint-urilor pe module tematice (de exemplu routers/auth.py, routers/products.py).

Metoda app.include_router() montează aceste routere în aplicația principală, permițând definirea centralizată a prefixelor de cale (prefix="/api/v1"), a etichetelor OpenAPI și a dependențelor globale aplicate tuturor rutelor din modul.

Exemplu: Definire modul cu APIRouter și includere în aplicația principală
# Fișier: routers/items.py
from fastapi import APIRouter

router = APIRouter(prefix="/items", tags=["Produse"])

@router.get("/")
async def list_items():
    return [{"id": 1, "name": "Tastatură Mecanică"}]

# Fișier: main.py
from fastapi import FastAPI
from routers.items import router as items_router

app = FastAPI()
app.include_router(items_router, prefix="/api/v1")

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Organizarea Modulară cu APIRouter în FastAPI

Ai o nelămurire despre utilizarea comenzii Organizarea Modulară cu APIRouter în FastAPI sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.