Skip to main content

fastapi-router-py

Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new routes, implementing CRUD operations, or adding authenticated endpoints in FastAPI applications.

Zur Installation springen

Quellinformationen

Repository
sahit-sai/saviaa
Letzte Quellaktivität
18. Juli 2026 um 11:03
Erkannte Sprache von SKILL.md
Englisch
Sterne
0
Forks
0

Installationsoptionen

Standardmäßig ist der Prompt ausgewählt, der zuerst die Quelle prüft. Sie können zu einem direkten Befehl wechseln oder eine lokale Kopie herunterladen.

Quelldateien prüfen

Lesen Sie SKILL.md und alle von SkillsMP angezeigten Begleitdateien, bevor Sie sich für eine Installation entscheiden.

Datei-Explorer
3 Dateien

SKILL.md wird angezeigt

SKILL.md
Quellanweisungen · Schreibgeschützte Vorschau
name
fastapi-router-py
description
Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new routes, implementing CRUD operations, or adding authenticated endpoints in FastAPI applications.
license
MIT
metadata
{"author":"Microsoft","version":"1.0.0"}
# FastAPI Router Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes. ## Quick Start Copy the template from [assets/template.py](assets/template.py) and replace placeholders: - `{{ResourceName}}` → PascalCase name (e.g., `Project`) - `{{resource_name}}` → snake_case name (e.g., `project`) - `{{resource_plural}}` → plural form (e.g., `projects`) ## Authentication Patterns ```python # Optional auth - returns None if not authenticated current_user: Optional[User] = Depends(get_current_user) # Required auth - raises 401 if not authenticated current_user: User = Depends(get_current_user_required) ``` ## Response Models ```python @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]: ... ``` ## HTTP Status Codes ```python @router.post("/items", status_code=status.HTTP_201_CREATED) @router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT) ``` ## Integration Steps 1. Create router in `src/backend/app/routers/` 2. Mount in `src/backend/app/main.py` 3. Create corresponding Pydantic models 4. Create service layer if needed 5. Add frontend API functions ## Best Practices 1. **Pick `def` or `async def` per endpoint based on whether you call async I/O; do not call blocking I/O from an `async def` handler.** 2. **Manage long-lived resources (DB pools, HTTP clients) in `lifespan` and inject via `Depends`;** use `with`/`async with` for per-request resources. ## Reference Files | File | Contents | |------|----------| | [references/capabilities.md](references/capabilities.md) | Additional non-hero capabilities, operation-group coverage, and production checklists. |
Auf GitHub ansehen