Routeur FastAPI
Créez des routeurs FastAPI en suivant les patterns établis avec une authentification appropriée, des modèles de réponse et des codes de statut HTTP.
Démarrage rapide
Copiez le template depuis assets/template.py et remplacez les placeholders :
{{ResourceName}}→ nom en PascalCase (ex.Project){{resource_name}}→ nom en snake_case (ex.project){{resource_plural}}→ forme plurielle (ex.projects)
Patterns d'authentification
# Auth optionnelle - retourne None si non authentifié
current_user: Optional[User] = Depends(get_current_user)
# Auth requise - lève 401 si non authentifié
current_user: User = Depends(get_current_user_required)
Modèles de réponse
@router.get("/items/{item_id}", response_model=Item)
async def get_item(item_id: str) -> Item:
...
@router.get("/items", response_model=list[Item])
async def list_items() -> list[Item]:
...
Codes de statut HTTP
@router.post("/items", status_code=status.HTTP_201_CREATED)
@router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)
Étapes d'intégration
- Créez le routeur dans
src/backend/app/routers/ - Montez-le dans
src/backend/app/main.py - Créez les modèles Pydantic correspondants
- Créez la couche service si nécessaire
- Ajoutez les fonctions API frontend