вариант

fastapi-router-py

microsoft/skills microsoft/skills

Создавайте маршрутизаторы FastAPI с операциями CRUD, зависимостями аутентификации и правильными моделями ответов в соответствии с общепринятыми шаблонами.

...Расширить все
10
Обновлено время 12 сентября 2026 г.

Маршрутизатор FastAPI

Создавайте маршрутизаторы FastAPI в соответствии с установленными шаблонами, с надлежащей аутентификацией, моделями ответов и кодами состояния HTTP.

Быстрый старт

Скопируйте шаблон из файла assets/template.py и замените заполнители:

  • {{ResourceName}} → Имя в формате PascalCase (например, Project)
  • {{resource_name}} → имя в стиле snake_case (например, project)
  • {{resource_plural}} → форма множественного числа (например, projects)

Шаблоны аутентификации

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

Модели ответов

@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

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

Этапы интеграции

  1. Создать маршрутизатор в src/backend/app/routers/
  2. Подключение к src/backend/app/main.py
  3. Создать соответствующие модели Pydantic
  4. При необходимости создать сервисный слой
  5. Добавить функции API для интерфейса пользователя

Рекомендации

  1. Выбирайте def или async def для каждого конечного пункта в зависимости от того, вызываете ли вы асинхронный ввод-вывод; не смешивайте синхронные и асинхронные блокирующие вызовы в одном обработчике.
  2. Управляйте долгоживущими ресурсами (пулы БД, HTTP-клиенты) в lifespan и встраивайте их через Depends; используйте with/async with для ресурсов, используемых на уровне отдельного запроса.
Посмотреть на 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.

Все файлы

0 файлов

Установить fastapi-router-py

Скачайте файлы навыков и распакуйте их в каталог .claude/skills/.

Скачать ZIP

Клонируйте репозиторий и скопируйте файлы навыка в свой проект.

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

Копировать Копировать
Быстрая настройка: Скопируйте папку со с킬лом в каталог .claude/skills/ Claude автоматически обнаружит и запустит этот скилл
Репозиторий microsoft/skills

Похожие навыки

algorithmic-art
Обновлено время 27 августа 2026 г.
tech-debt-tracker
Обновлено время 29 августа 2026 г.
receiving-code-review
Обновлено время 3 сентября 2026 г.
deprecation-and-migration
Обновлено время 3 сентября 2026 г.
OR