Ako používať FastAPI na vytvorenie vysoko výkonných API služieb

2/20/2026
4 min read

Ako používať FastAPI na vytvorenie vysoko výkonných API služieb

FastAPI je moderný, rýchly (efektívny) webový rámec, navrhnutý na vytváranie API. Je založený na typových náznakoch Pythonu a podporuje asynchrónne programovanie, čo umožňuje vývojárom vytvárať vysoko výkonné, vysoko dostupné API služby s nízkou latenciou. Tento článok vám podrobne predstaví, ako používať FastAPI na vytvorenie vysoko výkonných API služieb, pričom budeme postupovať krok za krokom, aby sme vám pomohli realizovať celý proces od nastavenia prostredia po nasadenie.

Prvý krok: Príprava prostredia

Musíte sa uistiť, že vo vašom vývojovom prostredí je nainštalovaný Python 3.6+. Ak ešte nie je nainštalovaný, môžete navštíviť oficiálnu stránku Pythonu a stiahnuť a nainštalovať ho.

Inštalácia FastAPI a Uvicorn

FastAPI samo o sebe neposkytuje službu, potrebuje ASGI server na hostenie. Tu používame Uvicorn, vysoko výkonný ASGI server. Môžete použiť nasledujúci príkaz na inštaláciu FastAPI a Uvicorn:

pip install fastapi uvicorn

Druhý krok: Vytvorenie základného API

Vytvorme jednoduchú aplikáciu FastAPI.

Vytvorenie súboru aplikácie

Vo vašom projektovom adresári vytvorte Python súbor, napríklad main.py, a do neho napíšte nasledujúci kód:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Ahoj, svet!"}

V uvedenom kóde najprv importujeme FastAPI a vytvoríme inštanciu app. Potom definujeme GET trasu, ktorá pri prístupe na koreňovú cestu / vráti jednoduchú JSON odpoveď.

Spustenie servera

Spustite svoj FastAPI server pomocou nasledujúceho príkazu:

uvicorn main:app --reload
  • main: označuje názov súboru bez prípony .py.
  • app: označuje inštanciu FastAPI.
  • --reload: v režime vývoja sa server automaticky reštartuje pri zmene súboru.

Tretí krok: Definovanie trás a dátových modelov

Na vytvorenie zložitých API potrebujete použiť Pydantic na definovanie dátových modelov.

Vytvorenie dátového modelu

Do main.py pridajte nasledujúci obsah:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float
    is_available: bool = True

Tento kód používa Pydantic na vytvorenie dátového modelu Item, ktorý obsahuje tri atribúty: názov produktu, cenu a dostupnosť.

Pridanie novej trasy

Potom môžeme definovať novú POST trasu na prijímanie dát typu Item:

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

V tejto trase FastAPI automaticky overí prijaté dáta a mapuje ich na model Item.

Štvrtý krok: Automatická generácia dokumentácie

Jednou z najväčších výhod FastAPI je, že môže automaticky generovať dokumentáciu API. Môžete si ju pozrieť na nasledujúcich adresách:

  • Swagger UI: http://127.0.0.1:8000/docs
  • ReDoc: http://127.0.0.1:8000/redoc

V týchto generovaných dokumentoch môžete interaktívne testovať API a pozerať sa na formát požiadaviek a odpovedí pre každú trasu.

Piaty krok: Pridanie autentifikácie

V reálnych aplikáciách je autentifikácia dôležitým aspektom. Pridajme jednoduchú autentifikáciu založenú na rolách.

Pridanie bezpečnostných závislostí

Použite metódu Depends FastAPI a OAuth2PasswordBearer na implementáciu autentifikácie:

from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")

async def fake_decode_token(token):
    return {"sub": token}

async def get_current_user(token: str = Depends(oauth2_scheme)):
    user = fake_decode_token(token)
    if user is None:
        raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED, detail="Neplatné autentifikačné údaje")
    return user

Ochrana trás

Potom môžete pridať autentifikáciu do trás, ktoré potrebujete chrániť:

@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
    return current_user

Šiesty krok: Nasadenie aplikácie FastAPI

Keď dokončíte vývoj, možno budete chcieť nasadiť aplikáciu na cloudový server. Môžete sa rozhodnúť pre nasadenie pomocou Dockeru.

Vytvorenie Dockerfile

V projektovom adresári vytvorte súbor s názvom Dockerfile a zadajte nasledujúci obsah:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

COPY ./app /app

Vytvorenie Docker obrazu

Vo vašom termináli použite nasledujúci príkaz na vytvorenie Docker obrazu:

docker build -t myfastapiapp .

Spustenie Docker kontajnera

Spustite svoju aplikáciu FastAPI:

docker run -d --name fastapi -p 80:80 myfastapiapp

Zhrnutie

V tomto článku sme podrobne vysvetlili, ako používať FastAPI na vytvorenie vysoko výkonných API služieb, od prípravy prostredia po vytvorenie základného API, definovanie trás a dátových modelov, až po pridanie autentifikácie a nasadenie. FastAPI ponúka množstvo silných funkcií, ktoré uľahčujú a zefektívňujú vytváranie moderných API, môžete sa prostredníctvom oficiálnej dokumentácie ďalej preskúmať ďalšie funkcie a vlastnosti. Dúfame, že vám tento článok pomôže rýchlejšie sa zorientovať vo FastAPI a efektívne zvýšiť vašu produktivitu pri vývoji projektov!

Published in Technology

You Might Also Like