PromptArchPromptArch.ai
FastAPI

Cursor rule: FastAPI routers & schemas

Puntuación: A

An auto-attached .mdc rule for router/schema hygiene: explicit response_model, edge validation, and a full path-operation example.

---
description: FastAPI router and Pydantic schema conventions
globs: app/api/**/*.py,app/schemas/**/*.py
alwaysApply: false
---

# Router and schema rules

- Routers declare `response_model` explicitly; return schema instances, not ORM
  models. Serialization surprises come from skipping this.
- Every route gets auth via the `CurrentUser` dependency unless it is in the
  public list in `app/api/public.py`.
- Path operations stay under ~30 lines; push logic into `app/services/`.
- Request schemas validate at the edge:

```python
class OrderCreate(BaseModel):
    sku: str = Field(min_length=1, max_length=64)
    quantity: int = Field(gt=0, le=1000)

@router.post("/orders", response_model=OrderRead, status_code=201)
async def create_order(
    body: OrderCreate,
    user: CurrentUser,
    session: AsyncSession = Depends(get_session),
) -> OrderRead:
    return await orders_service.create(session, user, body)
```

- Follow @app/api/orders.py for pagination, error mapping, and dependency order.

Estos ejemplos se publican bajo CC0: úsalos libremente, sin atribución. Se proveen tal cual, sin garantía de ningún tipo: revísalos y adáptalos a tu proyecto antes de usarlos, ya que eres responsable del resultado de aplicarlos.

Lleva PromptArch a tu equipo

Implementa PromptArch como herramienta interna en cada área de tu empresa. Obtén cuentas de equipo con créditos precargados compartidos y dominios personalizados para tu organización.

Contáctanos
Cursor rule: FastAPI routers & schemas - Example | PromptArch | PromptArch