Hogyan építsünk nagy teljesítményű API szolgáltatást FastAPI-val

2/20/2026
4 min read

Hogyan építsünk nagy teljesítményű API szolgáltatást FastAPI-val

A FastAPI egy modern, gyors (hatékony) webkeretrendszer, amelyet API-k építésére terveztek. A Python típusjelölésein alapul, és támogatja az aszinkron programozást, lehetővé téve a fejlesztők számára, hogy nagy teljesítményű, magas rendelkezésre állású, alacsony késleltetésű API szolgáltatásokat építsenek. Ez a cikk részletesen bemutatja, hogyan használhatja a FastAPI-t nagy teljesítményű API szolgáltatások építésére, lépésről lépésre haladva, hogy segítsen Önnek a környezet beállításától a telepítésig terjedő teljes folyamatban.

Első lépés: Környezet előkészítése

Győződjön meg arról, hogy a fejlesztési környezetében telepítve van a Python 3.6+. Ha még nincs telepítve, látogasson el a Python hivatalos weboldalára, ahol letöltheti és telepítheti.

FastAPI és Uvicorn telepítése

A FastAPI önállóan nem nyújt szolgáltatást, szüksége van egy ASGI szerverre a működtetéséhez. Itt az Uvicorn-t használjuk, amely egy nagy teljesítményű ASGI szerver. Az alábbi parancsokkal telepítheti a FastAPI-t és az Uvicorn-t:

pip install fastapi uvicorn

Második lépés: Alap API létrehozása

Hozzunk létre egy egyszerű FastAPI alkalmazást.

Alkalmazásfájl létrehozása

A projekt könyvtárában hozzon létre egy Python fájlt, például main.py, majd írja be a következő kódot:

from fastapi import FastAPI

app = FastAPI()

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

A fenti kódban először importáltuk a FastAPI-t, és létrehoztunk egy app példányt. Ezután definiáltunk egy GET útvonalat, amely a gyökér útvonalra (/) való látogatáskor egy egyszerű JSON választ ad vissza.

A szerver indítása

Indítsa el a FastAPI szerverét az alábbi parancs segítségével:

uvicorn main:app --reload
  • main: a fájl neve, .py kiterjesztés nélkül.
  • app: a FastAPI példányra utal.
  • --reload: fejlesztési módban a fájl módosításakor automatikusan újraindítja a szervert.

Harmadik lépés: Útvonalak és adatmodellek definiálása

A bonyolult API-k létrehozásához a Pydantic-ot kell használnia az adatmodellek definiálásához.

Adatmodell létrehozása

A main.py fájlhoz adja hozzá a következő tartalmat:

from pydantic import BaseModel

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

Ez a kód a Pydantic-ot használva létrehoz egy Item adatmodellt, amely három attribútumot tartalmaz: a termék nevét, árát és elérhetőségét.

Új útvonal hozzáadása

Ezután definiálhatunk egy új POST útvonalat, amely az Item típusú adatokat fogadja:

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

Ebben az útvonalban a FastAPI automatikusan érvényesíti a bejövő adatokat, és azokat az Item modellhez rendeli.

Negyedik lépés: Dokumentáció automatikus generálása

A FastAPI egyik legnagyobb előnye, hogy automatikusan generál API dokumentációt. Az alábbi címeken tekintheti meg:

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

Ezekben a generált dokumentumokban interaktívan tesztelheti az API-t, és megtekintheti minden egyes útvonal kérés- és válaszmintáit.

Ötödik lépés: Hitelesítés hozzáadása

A valós alkalmazásokban a hitelesítés fontos lépés. Adjunk hozzá egy egyszerű, szerepkör alapú hitelesítést.

Biztonsági függőségek hozzáadása

A FastAPI Depends metódusát és az OAuth2PasswordBearer-t használva valósíthatja meg a hitelesítést:

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="Érvénytelen hitelesítési adatok")
    return user

Útvonalak védelme

Ezután a hitelesítést hozzáadhatja a védett útvonalakhoz:

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

Hatodik lépés: FastAPI alkalmazás telepítése

Miután befejezte a fejlesztést, lehet, hogy az alkalmazást fel kell telepítenie egy felhőszerverre. Választhatja a Docker használatát a telepítéshez.

Dockerfile létrehozása

A projekt könyvtárában hozzon létre egy Dockerfile nevű fájlt, és írja be a következő tartalmat:

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

COPY ./app /app

Docker kép építése

A terminálban használja az alábbi parancsot a Docker kép építéséhez:

docker build -t myfastapiapp .

Docker konténer futtatása

Futtassa a FastAPI alkalmazását:

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

Összegzés

Ebben a cikkben részletesen bemutattuk, hogyan használhatja a FastAPI-t nagy teljesítményű API szolgáltatások építésére, a környezet előkészítésétől kezdve az alap API létrehozásán, az útvonalak és adatmodellek definiálásán át, egészen a hitelesítés hozzáadásáig és a telepítésig. A FastAPI számos erőteljes funkciót kínál, amelyek egyszerűvé és hatékonnyá teszik a modern API-k építését, és a hivatalos dokumentációban további funkciókat és jellemzőket fedezhet fel. Reméljük, hogy ez a cikk segít Önnek gyorsabban megismerkedni a FastAPI-val, és hatékonyan növelni a projektfejlesztési hatékonyságát!

Published in Technology

You Might Also Like

Hogyan használjuk a felhőalapú számítástechnikai technológiát: Az első felhőinfrastruktúra teljes útmutatójaTechnology

Hogyan használjuk a felhőalapú számítástechnikai technológiát: Az első felhőinfrastruktúra teljes útmutatója

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

Figyelmeztetés! Claude Code atyja kijelenti: 1 hónap múlva a Plan Mode használata nélkül eltűnik a szoftvermérnök címTechnology

Figyelmeztetés! Claude Code atyja kijelenti: 1 hónap múlva a Plan Mode használata nélkül eltűnik a szoftvermérnök cím

Figyelmeztetés! Claude Code atyja kijelenti: 1 hónap múlva a Plan Mode használata nélkül eltűnik a szoftvermérnök cím N...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026-os Top 10 AI ügynök: A kulcsfontosságú jellemzők elemzéseTechnology

2026-os Top 10 AI ügynök: A kulcsfontosságú jellemzők elemzése

2026-os Top 10 AI ügynök: A kulcsfontosságú jellemzők elemzése Bevezetés A mesterséges intelligencia gyors fejlődésével ...

2026-os Top 10 AI Eszköz Ajánlás: Az Mesterséges Intelligencia Valódi Potenciáljának KiaknázásaTechnology

2026-os Top 10 AI Eszköz Ajánlás: Az Mesterséges Intelligencia Valódi Potenciáljának Kiaknázása

2026-os Top 10 AI Eszköz Ajánlás: Az Mesterséges Intelligencia Valódi Potenciáljának Kiaknázása A technológia gyors fejl...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 在快速发展的云计算领域,Amazon Web Services (AWS) 一直是领军者,提供丰富的服务和工具,帮助开发者、企业和技术专家在云上有效工作。以下是2026年值得关注的十大AWS工...