| name | fastapi-router-py |
| description | Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes. |
| risk | unknown |
| source | community |
| date_added | 2026-02-27 |
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 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
current_user: Optional[User] = Depends(get_current_user)
current_user: User = Depends(get_current_user_required)
Response Models
@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
@router.post("/items", status_code=status.HTTP_201_CREATED)
@router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)
Integration Steps
- Create router in
src/backend/app/routers/
- Mount in
src/backend/app/main.py
- Create corresponding Pydantic models
- Create service layer if needed
- Add frontend API functions
When to Use
This skill is applicable to execute the workflow or actions described in the overview.
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.