opção

fastapi-router-py

microsoft/skills microsoft/skills

Crie roteadores FastAPI com operações CRUD, dependências de autenticação e modelos de resposta adequados, seguindo padrões estabelecidos.

...Expandir tudo
10
Tempo atualizado 12 de Setembro de 2026

Roteador FastAPI

Crie roteadores FastAPI seguindo padrões estabelecidos, com autenticação adequada, modelos de resposta e códigos de status HTTP.

Introdução rápida

Copie o modelo do arquivo assets/template.py e substitua os espaços reservados:

  • {{ResourceName}} → Nome em PascalCase (por exemplo, Project)
  • {{resource_name}} → nome em snake_case (por exemplo, project)
  • {{resource_plural}} → forma no plural (por exemplo, projects)

Padrões de autenticação

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

@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 status HTTP

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

Etapas de integração

  1. Crie um roteador no src/backend/app/routers/
  2. Montar em src/backend/app/main.py
  3. Crie os modelos Pydantic correspondentes
  4. Crie uma camada de serviço, se necessário
  5. Adicione funções da API do front-end

Práticas recomendadas

  1. Escolha def ou async def por endpoint, dependendo se você chama E/S assíncrona; não misture chamadas síncronas e assíncronas bloqueantes em um único manipulador.
  2. Gerencie recursos de longa duração (pools de banco de dados, clientes HTTP) em lifespan e injete-os via Depends; use with/async with para recursos por solicitação.
Ver no 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 os arquivos

0 arquivos

Instalar fastapi-router-py

Baixe e descompacte os arquivos de habilidades no diretório .claude/skills/.

Baixar ZIP

Clone o repositório e copie os arquivos da habilidade para o seu projeto.

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
Configuração rápida: Copie a pasta da habilidade para .claude/skills/ O Claude detectará e utilizará automaticamente a habilidade
Repositório microsoft/skills

Habilidades relacionadas

algorithmic-art
Tempo atualizado 27 de Agosto de 2026
receiving-code-review
Tempo atualizado 3 de Setembro de 2026
tech-debt-tracker
Tempo atualizado 29 de Agosto de 2026
deprecation-and-migration
Tempo atualizado 3 de Setembro de 2026
OR