Kaip naudoti FastAPI kuriant didelio našumo API paslaugas

2/20/2026
4 min read

Kaip naudoti FastAPI kuriant didelio našumo API paslaugas

FastAPI yra moderni, greita (efektyvi) interneto sistema, sukurta API kūrimui. Ji remiasi Python tipo užuominomis ir palaiko asinchroninį programavimą, leidžiančią kūrėjams kurti didelio našumo, didelio prieinamumo ir mažo delsimo API paslaugas. Šiame straipsnyje išsamiai paaiškinsime, kaip naudoti FastAPI kuriant didelio našumo API paslaugas, mes žingsnis po žingsnio paaiškinsime, kaip įgyvendinti visą procesą nuo aplinkos paruošimo iki diegimo.

Pirmas žingsnis: Aplinkos paruošimas

Turite užtikrinti, kad jūsų kūrimo aplinkoje būtų įdiegta Python 3.6+. Jei dar nesate įdiegę, galite apsilankyti Python oficialioje svetainėje ir atsisiųsti bei įdiegti.

Įdiekite FastAPI ir Uvicorn

FastAPI pati nesuteikia paslaugų, jai reikia ASGI serverio, kad galėtų veikti. Čia mes naudojame Uvicorn, didelio našumo ASGI serverį. Galite naudoti šią komandą, kad įdiegtumėte FastAPI ir Uvicorn:

pip install fastapi uvicorn

Antras žingsnis: Pagrindinio API kūrimas

Sukurkime paprastą FastAPI programą.

Sukurkite programos failą

Jūsų projekto kataloge sukurkite Python failą, pavyzdžiui, main.py, ir jame parašykite šį kodą:

from fastapi import FastAPI

app = FastAPI()

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

Šiame kode pirmiausia importuojame FastAPI ir sukuriame app egzempliorių. Tada apibrėžiame GET maršrutą, kuris, pasiekus šaknies kelią /, grąžina paprastą JSON atsakymą.

Paleiskite serverį

Paleiskite savo FastAPI serverį naudodami šią komandą:

uvicorn main:app --reload
  • main: nurodo failo pavadinimą, be .py priedo.
  • app: nurodo FastAPI egzempliorių.
  • --reload: kūrimo režimu, failo pakeitimai automatiškai perkrauna serverį.

Trečias žingsnis: Maršrutų ir duomenų modelių apibrėžimas

Norint sukurti sudėtingą API, reikia naudoti Pydantic duomenų modeliams apibrėžti.

Sukurkite duomenų modelį

Pridėkite šį turinį į main.py:

from pydantic import BaseModel

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

Šis kodas naudoja Pydantic, kad sukurtų duomenų modelį Item, kuris apima tris savybes: prekės pavadinimą, kainą ir ar ji yra prieinama.

Pridėkite naują maršrutą

Tada galime apibrėžti naują POST maršrutą, kad priimtume Item tipo duomenis:

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

Šiame maršrute FastAPI automatiškai patikrina gautus duomenis ir žemėlapius juos į Item modelį.

Ketvirtas žingsnis: Automatinis dokumentų generavimas

Vienas didžiausių FastAPI privalumų yra tai, kad jis gali automatiškai generuoti API dokumentus. Galite peržiūrėti juos apsilankę šiuose adresuose:

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

Šiuose sugeneruotuose dokumentuose galite interaktyviai išbandyti API, peržiūrėti kiekvieno maršruto užklausų ir atsakymų formatus.

Penktas žingsnis: Pridėti autentifikaciją

Praktiniuose taikymuose autentifikacija yra svarbus etapas. Pridėkime paprastą autentifikaciją, pagrįstą rolėmis.

Pridėkite saugos priklausomybę

Naudokite FastAPI Depends metodą ir OAuth2PasswordBearer, kad įgyvendintumėte autentifikaciją:

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

Apsaugokite maršrutus

Tada galite pridėti autentifikaciją prie maršrutų, kuriuos reikia apsaugoti:

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

Šeštas žingsnis: FastAPI programos diegimas

Kai baigsite kūrimą, gali tekti diegti programą debesų serveryje. Galite pasirinkti diegti naudojant Docker.

Sukurkite Dockerfile

Projekto kataloge sukurkite failą pavadinimu Dockerfile ir įveskite šį turinį:

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

COPY ./app /app

Sukurkite Docker vaizdą

Savo terminale naudokite šią komandą, kad sukurtumėte Docker vaizdą:

docker build -t myfastapiapp .

Paleiskite Docker konteinerį

Paleiskite savo FastAPI programą:

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

Santrauka

Šiame straipsnyje išsamiai paaiškinome, kaip naudoti FastAPI kuriant didelio našumo API paslaugas, nuo aplinkos paruošimo iki pagrindinio API kūrimo, maršrutų ir duomenų modelių apibrėžimo, taip pat autentifikacijos pridėjimo ir diegimo. FastAPI siūlo daugybę galingų funkcijų, todėl modernių API kūrimas tampa paprastas ir efektyvus, galite toliau tyrinėti daugiau funkcijų ir savybių oficialioje dokumentacijoje. Tikimės, kad šis straipsnis padės jums greičiau pradėti dirbti su FastAPI ir efektyviau didinti jūsų projektų kūrimo efektyvumą!

Published in Technology

You Might Also Like