TGViewer
Библиотека питониста | Python, Django, Flask Библиотека питониста | Python, Django, Flask @pyproglib · 37.4K subscribers
Post #7694 2.5K
🚀 FastAPI с нуля: за 5 минут до работающего API

FastAPI — один из самых быстрых Python-фреймворков для построения API. Автодокументация, типизация, async из коробки.

Поехали.

📦 Установка


pip install fastapi uvicorn


🏗 Минимальный сервер


# main.py
from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def root():
return {"message": "Hello, World!"}


Запуск:

uvicorn main:app --reload


Откройте http://127.0.0.1:8000 — API уже отвечает.
Бонус: http://127.0.0.1:8000/docs — интерактивная Swagger-документация, сгенерирована автоматически.

📐 Pydantic-модели — валидация входных данных


from pydantic import BaseModel

class User(BaseModel):
name: str
age: int
email: str

@app.post("/users")
def create_user(user: User):
return {"created": user.name}


FastAPI сам проверит типы и вернёт понятную ошибку, если придут неверные данные. Никакого ручного if not isinstance(...).

🔍 Path & Query параметры


# /items/42
@app.get("/items/{item_id}")
def get_item(item_id: int, q: str = None):
return {"id": item_id, "query": q}


item_id — из URL, q — из query string (`?q=test`). Всё типизировано.

⚡️ Async endpoint — когда нужен I/O


import asyncio

@app.get("/slow")
async def slow_endpoint():
await asyncio.sleep(1) # не блокирует сервер
return {"status": "done"}


Используйте async def когда делаете запросы к БД или внешним API — сервер продолжает обрабатывать другие запросы пока ждёт.

🗂 Структура проекта (когда вырастет)


project/
├── main.py
├── routers/
│ ├── users.py
│ └── items.py
└── models/
└── schemas.py


Роутеры подключаются так:

from routers import users
app.include_router(users.router, prefix="/users")


✅ Итого за 5 минут:

GET / POST / PUT / DELETE эндпоинты
— Валидация через Pydantic
— Автодокументация на /docs
— Async поддержка
— Масштабируемая структура

📍 Навигация: ВакансииЗадачиСобесы

Библиотека питониста

#буст
  • ❤ 13
  • 👍 8
  • 🤩 1
More from @pyproglib
  1. Sep 20, 2026👻 94% токенов уходят не на код Анализ запусков показал: основная часть токенов уходит на…
  2. Sep 19, 2026📚Напоминаем про наш полный курс «Самоучитель по Python для начинающих» Мы написали и собр…
  3. Sep 15, 2026😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как трати…
  4. Sep 15, 2026⏱️ Справочник по Big-O в Python Для тех, кто хочет писать не просто работающий, а эффектив…
  5. Sep 14, 2026🤪 Если бы можно было задать один вопрос про AI в разработке — что бы вы спросили? Как выб…
  6. Sep 13, 2026🌸 Вселенная намекает: пора уже начать этот курс С 14 сентября цены в Proglib Academy выра…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →