opción

fastapi-router-py

microsoft/skills microsoft/skills

Crear enrutadores de FastAPI con operaciones CRUD, dependencias de autenticación y modelos de respuesta adecuados, siguiendo los patrones establecidos.

...Expandir todo
10
Tiempo actualizado 12 de septiembre de 2026

Enrutador de FastAPI

Crea enrutadores FastAPI siguiendo los patrones establecidos, con autenticación adecuada, modelos de respuesta y códigos de estado HTTP.

Inicio rápido

Copia la plantilla de assets/template.py y sustituye los marcadores de posición:

  • {{ResourceName}} → Nombre en PascalCase (p. ej., Project)
  • {{resource_name}} → nombre en snake_case (p. ej., project)
  • {{resource_plural}} → forma plural (p. ej., projects)

Patrones de autenticación

# 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)

Modelos de respuesta

@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]:
    ...

Códigos de estado HTTP

@router.post("/items", status_code=status.HTTP_201_CREATED)
@router.delete("/items/{id}", status_code=status.HTTP_204_NO_CONTENT)

Pasos de integración

  1. Crear un enrutador en src/backend/app/routers/
  2. Montar en src/backend/app/main.py
  3. Crear los modelos Pydantic correspondientes
  4. Crear una capa de servicio si es necesario
  5. Añadir funciones de API de front-end

Prácticas recomendadas

  1. Elige def o async def para cada punto final en función de si realizas llamadas de E/S asíncronas; no mezcles llamadas sincrónicas y asíncronas que bloquean en un mismo controlador.
  2. Gestiona los recursos de larga duración (pools de bases de datos, clientes HTTP) en lifespan e inyecta mediante Depends; utiliza with/async with para los recursos por solicitud.
Ver en GitHub
---
name: fastapi-router-py
description: Create FastAPI routers with CRUD operations, authentication dependencies, and proper response models following established patterns.
license: MIT
---

# 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 mix sync and async blocking calls in one handler.
2. **Manage long-lived resources (DB pools, HTTP clients) in `lifespan` and inject via `Depends`;** use `with`/`async with` for per-request resources.

Todos los archivos

0 archivos

Instalar fastapi-router-py

Descarga y descomprime los archivos de habilidades en tu directorio .claude/skills/.

Descargar ZIP

Clona el repositorio y copia los archivos de la habilidad a tu proyecto.

git clone https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-python/skills/fastapi-router-py # Copy SKILL.md to your .claude/skills/ directory

Copiar Copiar
Configuración rápida: Copia la carpeta de la habilidad en .claude/skills/ Claude detectará y utilizará automáticamente la habilidad
Repositorio microsoft/skills

Habilidades relacionadas

algorithmic-art
Tiempo actualizado 27 de agosto de 2026
receiving-code-review
Tiempo actualizado 3 de septiembre de 2026
tech-debt-tracker
Tiempo actualizado 29 de agosto de 2026
deprecation-and-migration
Tiempo actualizado 3 de septiembre de 2026
OR