
fastapi-router-py
✓ Official★ 2,700by microsoft · part of microsoft/skills
Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new…
Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new…
Inspect the full instructions your agent will receiveExpandCollapse
This is the exact playbook injected into your agent when the skill activates — shown here so you can audit it before installing. You don't need to read it to use the skill.
by microsoft
Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models. Use when building REST API endpoints, creating new…
npx skills add https://github.com/microsoft/agent-skills --skill fastapi-router-py
Download ZIPGitHub2.7k
FastAPI Router
Create FastAPI routers following established patterns with proper authentication, response models, and HTTP status codes.
Authentication Patterns
# 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
@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
Best Practices
-
Pick
deforasync defper endpoint based on whether you call async I/O; do not mix sync and async blocking calls in one handler. -
Manage long-lived resources (DB pools, HTTP clients) in
lifespanand inject viaDepends; usewith/async withfor per-request resources.
npx skills add https://github.com/microsoft/skills --skill fastapi-router-pyRun this in your project — your agent picks the skill up automatically.
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)
No common issues documented yet. If you hit a problem, the repository's GitHub Issues page is the best place to look.