Kuidas kasutada FastAPI-d kõrge jõudlusega API teenuste loomiseks

2/20/2026
3 min read

Kuidas kasutada FastAPI-d kõrge jõudlusega API teenuste loomiseks

FastAPI on kaasaegne, kiire (efektiivne) veebiraamistik, mis on loodud API-de loomiseks. See põhineb Python'i tüübi vihjetel ja toetab asünkroonset programmeerimist, võimaldades arendajatel luua kõrge jõudlusega, kõrge kättesaadavusega ja madala latentsusega API teenuseid. Käesolev artikkel tutvustab teile üksikasjalikult, kuidas kasutada FastAPI-d kõrge jõudlusega API teenuste loomiseks, jagades protsessi samm-sammult, et aidata teil saavutada keskkonna seadistamisest kuni juurutamiseni kogu protsess.

Esimene samm: Keskkonna ettevalmistamine

Te peate veenduma, et teie arenduskeskkonnas on installitud Python 3.6+. Kui see pole veel installitud, külastage Python'i ametlikku veebisaiti ja laadige alla ning installige.

FastAPI ja Uvicorni installimine

FastAPI ei paku teenust iseenesest, vajate ASGI serverit selle majutamiseks. Siin kasutame Uvicorni, mis on kõrge jõudlusega ASGI server. FastAPI ja Uvicorni installimiseks saate kasutada järgmist käsku:

pip install fastapi uvicorn

Teine samm: Põhi API loomine

Loome lihtsa FastAPI rakenduse.

Rakenduse faili loomine

Teie projekti kataloogis looge Python'i fail, näiteks main.py, ja kirjutage sinna järgmine kood:

from fastapi import FastAPI

app = FastAPI()

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

Ülaltoodud koodis impordime esmalt FastAPI ja loome app instantsi. Seejärel määratleme GET marsruudi, mis tagastab juurtee / külastamisel lihtsa JSON vastuse.

Serveri käivitamine

Käivitage oma FastAPI server järgmise käsuga:

uvicorn main:app --reload
  • main: viitab faili nimele, ilma .py laiendita.
  • app: viitab FastAPI instantsile.
  • --reload: arendusrežiimis, server taaskäivitub automaatselt, kui failidesse tehakse muudatusi.

Kolmas samm: Marsruutide ja andmemudelite määratlemine

Kuna soovite luua keerukamaid API-sid, peate kasutama Pydanticut andmemudelite määratlemiseks.

Andmemudeli loomine

Lisage main.py faili järgmine sisu:

from pydantic import BaseModel

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

See kood kasutab Pydanticut andmemudeli Item loomiseks, mis sisaldab kolme omadust: toote nimi, hind ja saadavus.

Uue marsruudi lisamine

Seejärel saame määratleda uue POST marsruudi, et vastu võtta Item tüüpi andmeid:

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

Selles marsruudis valideerib FastAPI automaatselt sisenevaid andmeid ja kaardistab need Item mudelisse.

Neljandat samm: Dokumentide automaatne genereerimine

FastAPI üks suurimaid eeliseid on automaatne API dokumentide genereerimine. Saate neid vaadata, külastades järgmisi aadresse:

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

Neis genereeritud dokumentides saate interaktiivselt testida API-d, vaadata iga marsruudi päringute ja vastuste formaate.

Viies samm: Autentimise lisamine

Reaalsetes rakendustes on autentimine oluline etapp. Lisame lihtsa rollipõhise autentimise.

Turvadependentside lisamine

Kasutades FastAPI Depends meetodit ja OAuth2PasswordBearer, et rakendada autentimist:

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="Invalid authentication credentials")
    return user

Marsruutide kaitsmine

Seejärel saate autentimise lisada marsruutidesse, mida soovite kaitsta:

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

Kuues samm: FastAPI rakenduse juurutamine

Kui olete arenduse lõpetanud, peate võib-olla rakenduse juurutama pilveserverisse. Saate valida Docker'i kasutamise juurutamiseks.

Dockerfile'i loomine

Looge projekti kataloogis fail nimega Dockerfile ja sisestage järgmine sisu:

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

COPY ./app /app

Docker'i pildi ehitamine

Kasutage oma terminalis järgmisi käske Docker'i pildi ehitamiseks:

docker build -t myfastapiapp .

Docker'i konteineri käitamine

Käivitage oma FastAPI rakendus:

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

Kokkuvõte

Käesolevas artiklis oleme üksikasjalikult käsitlenud, kuidas kasutada FastAPI-d kõrge jõudlusega API teenuste loomiseks, alates keskkonna ettevalmistamisest kuni põhiteenuse loomise, marsruutide ja andmemudelite määratlemise, autentimise lisamise ja juurutamiseni. FastAPI pakub palju võimsaid funktsioone, mis muudavad kaasaegsete API-de loomise lihtsaks ja tõhusaks. Saate ametlikest dokumentidest uurida rohkem funktsioone ja omadusi. Loodame, et see artikkel aitab teil kiiremini FastAPI-d omandada ja tõhusalt suurendada teie projekti arenduse efektiivsust!

Published in Technology

You Might Also Like