L o a d i n g
Старт в работе с FastAPI: Быстро и Просто FastAPI

FastAPI — это современный, быстрый (high-performance) веб-фреймворк для Python, предназначенный для создания API. Он построен на основе Starlette и Pydantic, обеспечивая гибкость, читаемость кода и мощные инструменты для работы с данными.

Если вы новичок, вот пошаговое руководство, чтобы стартануть 🚀:

1. Установим FastAPI и Uvicorn

FastAPI сам по себе — это фреймворк, но для запуска приложения понадобится сервер ASGI. Рекомендуется использовать Uvicorn. Установим всё сразу:

poetry add fastapi uvicorn

2. Создаём первое приложение

Создадим файл main.py с минимальным кодом:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def read_root():
    return {"message": "Привет, FastAPI!"}

3. Запуск приложения

Запускаем сервер:

uvicorn main:app --reload

  • main — имя файла (без .py).

  • app — объект FastAPI.

  • --reload — автоматически перезагружает сервер при изменении кода.

Откройте браузер и перейдите по адресу http://127.0.0.1:8000. Вы увидите JSON-ответ:

{"message": "Привет, FastAPI!"}

4. Документация API (Swagger)

FastAPI автоматически генерирует документацию Swagger. Перейдите по адресу http://127.0.0.1:8000/docs.

Для альтернативного формата документации OpenAPI — http://127.0.0.1:8000/redoc.

5. Добавляем эндпоинты

FastAPI позволяет легко работать с различными HTTP-методами. Вот пример:

@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

  • item_id — это путь-параметр, автоматически типизированный как int.

  • q — необязательный query-параметр.

Попробуйте запрос:
http://127.0.0.1:8000/items/42?q=test.

6. Работа с данными: Pydantic

FastAPI использует Pydantic для проверки данных. Вот пример с POST-запросом:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float
    is_offer: bool = None

@app.post("/items/")
def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

Попробуйте отправить POST-запрос через Swagger или инструмент вроде Postman.

7. Зачем FastAPI?

  • 🔥 Скорость: Работает на ASGI, что обеспечивает высокую производительность.

  • 🛠 Документация: Автоматическая генерация Swagger и OpenAPI.

  • 🎯 Типизация: Строгая проверка данных на основе аннотаций типов.

  • 😍 Простота: Интуитивно понятный синтаксис, с которым легко стартовать.

💡 Советы для новичков:

  1. Всегда типизируйте данные — это упростит отладку.

  2. Используйте Pydantic для работы со сложными моделями данных.

  3. Для развёртывания приложения в продакшн используйте Gunicorn вместе с Uvicorn.

Готовы к разработке? Начните экспериментировать и развивать своё API! 🎉

Написать комментарий

Вы можете оставить комментарий автору статьи Обязательные поля помечены *