Hvernig á að nota FastAPI til að byggja háþróaða API þjónustu
Hvernig á að nota FastAPI til að byggja háþróaða API þjónustu
FastAPI er nútímalegt, hratt (árangursríkt) veframmistaða, sérstaklega hannað til að byggja API. Það er byggt á Python tegundarmerkingum og styður aðgerðaskipti, sem gerir þróunaraðilum kleift að byggja háþróaða, háan aðgengi, lága seinkun API þjónustu. Þessi grein mun útskýra í smáatriðum hvernig á að nota FastAPI til að byggja háþróaða API þjónustu, við munum fara í gegnum skref fyrir skref, til að hjálpa þér að framkvæma allt ferlið frá umhverfisuppsetningu til dreifingar.
Fyrsta skref: Umhverfisundirbúningur
Þú þarft að tryggja að Python 3.6+ sé uppsett í þróunarumhverfi þínu. Ef það er ekki uppsett, geturðu heimsótt Python heimasíðuna til að hlaða niður og setja það upp.
Setja upp FastAPI og Uvicorn
FastAPI sjálft veitir ekki þjónustu, það þarf ASGI þjón. Hér notum við Uvicorn, háþróaða ASGI þjón. Þú getur notað eftirfarandi skipun til að setja upp FastAPI og Uvicorn:
pip install fastapi uvicorn
Annað skref: Byggja grunn API
Látum okkur búa til einfalt FastAPI forrit.
Búa til forritaskrá
Í verkefnaskránni þinni, búa til Python skrá, eins og main.py, og skrifa eftirfarandi kóða:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}
Í þessum kóða, innfluttum við fyrst FastAPI og sköpuðum app tilvik. Síðan skilgreinum við GET leið, sem skilar einfaldri JSON svörun þegar aðgangur er að rótarslóðinni /.
Ræsa þjóninn
Ræstu FastAPI þjóninn þinn með eftirfarandi skipun:
uvicorn main:app --reload
main: vísar til skráarheitis, án .py viðskeytis.app: vísar til FastAPI tilviksins.--reload: í þróunarmóti, endurræsir þjóninn sjálfkrafa þegar skráarbreytingar eiga sér stað.
Þriðja skref: Skilgreina leiðir og gagnalíkan
Til að byggja flókin API þarftu að nota Pydantic til að skilgreina gagnalíkön.
Búa til gagnalíkan
Bættu eftirfarandi efni í main.py:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
Þessi kóði notar Pydantic til að búa til gagnalíkan Item, sem inniheldur þrjár eiginleika: nafn vöru, verð og hvort hún sé aðgengileg.
Bæta nýrri leið
Nú getum við skilgreint nýja POST leið til að taka við gögnum af Item gerð:
@app.post("/items/")
async def create_item(item: Item):
return {"item_name": item.name, "item_price": item.price}
Í þessari leið mun FastAPI sjálfkrafa staðfesta innsendu gögnin og kortleggja þau á Item líkanið.
Fjórða skref: Sjálfvirk skjölun
Einn af stærstu kostum FastAPI er að það getur sjálfkrafa búið til API skjöl. Þú getur skoðað þau með því að heimsækja eftirfarandi slóðir:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
Í þessum sjálfvirku skjölum geturðu prófað API-ið á gagnvirkan hátt, skoðað beiðnir og svörunarsnið fyrir hverja leið.
Fimmta skref: Bæta við auðkenningu
Í raunverulegum forritum er auðkenning mikilvægur þáttur. Látum okkur bæta einfaldri hlutbundinni auðkenningu.
Bæta við öryggisfylgni
Notaðu FastAPI Depends aðferðina og OAuth2PasswordBearer til að framkvæma auðkenningu:
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="Ógild auðkenningarvottorð")
return user
Vernda leiðir
Þá geturðu bætt auðkenningu við leiðir sem þurfa vernd:
@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
return current_user
Sjötta skref: Dreifa FastAPI forriti
Þegar þú hefur lokið þróuninni, gætirðu þurft að dreifa forritinu á skýþjón. Þú getur valið að nota Docker til að dreifa.
Búa til Dockerfile
Búðu til skrá sem heitir Dockerfile í verkefnaskránni þinni og skrifaðu eftirfarandi:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app
Byggja Docker mynd
Í terminalinu þínu, notaðu eftirfarandi skipun til að byggja Docker mynd:
docker build -t myfastapiapp .
Keyra Docker ílát
Keyrðu FastAPI forritið þitt:
docker run -d --name fastapi -p 80:80 myfastapiapp
Samantekt
Í þessari grein útskýrðum við í smáatriðum hvernig á að nota FastAPI til að byggja háþróaða API þjónustu, frá umhverfisundirbúningi til að búa til grunn API, skilgreina leiðir og gagnalíkön, og að bæta við auðkenningu og dreifingu. FastAPI býður upp á marga öfluga eiginleika sem gera byggingu nútíma API auðvelda og árangursríka, þú getur skoðað frekar í opinberum skjölum til að kanna fleiri eiginleika og eiginleika. Vonum að þessi grein geti hjálpað þér að komast fljótt í FastAPI og auka þróunarárangur verkefna þinna!





