Labsco
microsoft logo

fastapi-router-py

✓ Official2,700

by 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…

🔥🔥🔥🔥✓ VerifiedFreeQuick setup
🧩 One of 7 skills in the microsoft/skills package — works on its own, and pairs well with its siblings.

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 receiveExpand

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/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

Copy & paste — that's it
# 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

Copy & paste — that's it
@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

Copy & paste — that's it
@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 def or async def per 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 lifespan and inject via Depends; use with/async with for per-request resources.