Русский
Открыть в Telegram

Пост ✈️ В Python FastAPI — это современный, высокопроизводительный веб-фреймворк для создания API. Он основан на стандартах O…

16 декабря 2024
P
Pythoner
Фотография
✈️ В Python FastAPI — это современный, высокопроизводительный веб-фреймворк для создания API. Он основан на стандартах OpenAPI и JSON Schema, что обеспечивает автоматическую генерацию интерактивной документации и валидацию данных. FastAPI использует асинхронный подход (ASGI), что делает его одним из самых быстрых Python фреймворков. ➡️ Применение FastAPI идеально подходит для разработки API, микросервисов, backend-систем и других веб-приложений, где требуется высокая производительность, простота разработки и надежная валидация данных. Автоматическая генерация документации существенно упрощает взаимодействие с API. ➡️ Вот пример простого приложения FastAPI: from fastapi import FastAPI, Query, Path, HTTPException from pydantic import BaseModel from typing import List, Optional app = FastAPI(title="My Awesome API", version="1.0.0", description="Example FastAPI application") class Item(BaseModel): name: str description: Optional[str] = None price: float tax: Optional[float] = None @app.get("/") # GET-запрос на корневой путь async def root(): return {"message": "Hello World"} @app.get("/items/{item_id}") # GET-запрос с параметром пути async def read_item(item_id: int = Path(..., title="The ID of the item to get", ge=1)): # Валидация параметра пути return {"item_id": item_id} @app.get("/items/") async def read_items(q: Optional[str] = Query(None, min_length=3, max_length=50)): # Валидация query-параметра results = {"items": [{"item_id": "foo"}, {"item_id": "bar"}]} if q: results.update({"q": q}) return results @app.post("/items/", response_model=Item) # POST-запрос с валидацией тела запроса async def create_item(item: Item): return item @app.put("/items/{item_id}") async def update_item(item_id: int, item: Item): return {"item_id": item_id, **item.dict()} @app.get("/users/{user_id}") async def get_user(user_id: int): # Пример обработки ошибок if user_id == 404: raise HTTPException(status_code=404, detail="User not found") return {"user_id": user_id} # Запуск приложения uvicorn main:app --reload ⬆️ В этом примере демонстрируется создание приложения FastAPI, определение GET и POST маршрутов, использование параметров пути и запроса с валидацией, работа с Pydantic моделями для валидации тела запроса и обработка ошибок с помощью HTTPException. Для запуска приложения используйте команду uvicorn main:app --reload, где main — имя файла, а app — имя экземпляра FastAPI. После запуска перейдите по адресу /docs в браузере, чтобы увидеть автоматически сгенерированную интерактивную документацию. 🐍 Pythoner
37 · 1.7K ·

Рядом в ленте

PPythoner✈️ В Python BeautifulSoup4 (bs4) — это мощная библиотека для парсинга HTML и XML документов. Она предоставляет удобный интерфейс для навигации, поиска и модификPPythoner✈️ В Python dataclasses — это модуль, предоставляющий декоратор @dataclass, который автоматически генерирует шаблонный код для классов, преимущественно предназн
это сообщение
PPythoner✈️ В Python модуль `difflib` — это мощный инструмент для сравнения последовательностей, таких как строки, списки и другие итерируемые объекты. Он предоставляет PPythoner✈️ В Python модуль `concurrent.futures` предоставляет высокоуровневый интерфейс для асинхронного выполнения вызовов функций, используя пул потоков или процессов

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем