Sida Loo Isticmaalo FastAPI Si Loogu Dhiso Adeegyo API Oo Sareeya
Sida Loo Isticmaalo FastAPI Si Loogu Dhiso Adeegyo API Oo Sareeya
FastAPI waa qaab-dhismeed Web casri ah, oo degdeg ah (waxtar leh), oo loogu talagalay in lagu dhiso API. Waxay ku saleysan tahay tilmaamaha noocyada Python, waxayna taageertaa barnaamijyada aan tooska ahayn, taasoo u oggolaaneysa horumariyeyaasha inay dhisaan adeegyo API oo sareeya, oo leh helitaan sare iyo dib u dhac hoose. Qoraalkan wuxuu si faahfaahsan u sharxayaa sida loo isticmaalo FastAPI si loo dhiso adeegyo API oo sareeya, waxaanan u kala qaybin doonaa talaabooyin si aan kaaga caawino inaad gaarto dhammaan habka laga bilaabo dhismaha deegaanka ilaa daabacaadda.
Talaabada Koowaad: Diyaarinta Deegaanka
Waxaad u baahan tahay inaad hubiso in deegaankaaga horumarinta uu ku rakiban yahay Python 3.6+. Haddii aanad weli rakibin, waxaad booqan kartaa Bogga Rasmiga ah ee Python si aad u soo dejiso oo u rakibto.
Rakibida FastAPI iyo Uvicorn
FastAPI lafteeda ma bixiso adeeg, waxay u baahan tahay server ASGI si ay u qaadato. Halkan waxaanu isticmaaleynaa Uvicorn, oo ah server ASGI oo waxtar leh. Waxaad isticmaali kartaa amarka soo socda si aad u rakibto FastAPI iyo Uvicorn:
pip install fastapi uvicorn
Talaabada Labaad: Dhisida API Aasaasi
Aan abuurno codsi FastAPI fudud.
Abuuritaanka Faylka Codsiga
Dhexda galkaaga mashruuca, abuur fayl Python ah, sida main.py, ka dibna ku qor koodhka soo socda:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}
Koodhkan kor ku xusan, waxaan marka hore ku daray FastAPI oo aan abuurnay nuqul app. Kadib, waxaan qeexnay waddo GET ah, oo marka la galo dariiqa asaasiga ah / ay soo celinayso jawaab JSON fudud.
Bilowga Serverka
Isticmaal amarka soo socda si aad u bilowdo serverkaaga FastAPI:
uvicorn main:app --reload
main: waxay tilmaamaysaa magaca faylka, oo aan lahayn .py dhammaadka.app: waxay tilmaamaysaa nuqulka FastAPI.--reload: habka horumarinta, serverka si otomaatig ah ayuu dib u bilaabmaya marka faylka la beddelo.
Talaabada Saddexaad: Qeexida Waddooyinka iyo Qaab-dhismeedka Xogta
Si aad u dhisto API adag, waxaad u baahan tahay inaad isticmaasho Pydantic si aad u qeexdo qaab-dhismeedka xogta.
Abuuritaanka Qaab-dhismeedka Xogta
Ku dar waxyaabaha soo socda main.py:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
Koodhkan wuxuu isticmaalaa Pydantic si uu u abuuro qaab-dhismeed xogta Item, oo ka kooban sifooyinka magaca alaabta, qiimaha, iyo haddii ay diyaar tahay.
Ku daridda Waddo Cusub
Kadib, waxaan qeexi karnaa waddo cusub oo POST ah si aan u helno xogta nooca Item:
@app.post("/items/")
async def create_item(item: Item):
return {"item_name": item.name, "item_price": item.price}
Waddadan, FastAPI waxay si otomaatig ah u xaqiijineysaa xogta la keenay waxayna u beddeshaa qaab-dhismeedka Item.
Talaabada Afaraad: Abuurista Dukumiintiyada Si Otomaatig ah
Mid ka mid ah faa'iidooyinka ugu weyn ee FastAPI waa awoodda ay u leedahay in ay si otomaatig ah u abuurto dukumiintiyada API. Waxaad ka eegi kartaa adigoo booqanaya cinwaannadan:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
Dukumiintiyada la abuuray, waxaad si isdhexgal ah u tijaabin kartaa API, waxaadna arki kartaa qaababka codsiga iyo jawaabta ee waddo kasta.
Talaabada Shanaad: Ku Darida Aqoonsiga
Codsiyada dhabta ah, aqoonsigu waa marxalad muhiim ah. Aan ku darno aqoonsi fudud oo ku saleysan doorka.
Ku Darida Waxyaabaha Amniga
Isticmaalka habka Depends ee FastAPI iyo OAuth2PasswordBearer si aad u hirgeliso aqoonsiga:
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="Aqoonsiga aan sax ahayn")
return user
Ilaalinta Waddooyinka
Kadib, waxaad ku dari kartaa aqoonsiga waddooyinka u baahan in la ilaaliyo:
@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
return current_user
Talaabada Lixaad: Daabacaadda Codsiga FastAPI
Markaad dhammayso horumarinta, waxaa laga yaabaa inaad u baahato inaad codsigaaga ku daabacdo server daruur ah. Waxaad dooran kartaa inaad isticmaasho Docker si aad u daabacdo.
Abuuritaanka Dockerfile
Dhexda galka mashruucaaga, abuur fayl la yiraahdo Dockerfile, ku qor waxyaabaha soo socda:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app
Dhisida Sawirka Docker
Dhexda terminal-kaaga, isticmaal amarka soo socda si aad u dhisto sawirka Docker:
docker build -t myfastapiapp .
Socodsiinta Weelka Docker
Socodsiinta codsigaaga FastAPI:
docker run -d --name fastapi -p 80:80 myfastapiapp
Gunaanad
Qoraalkan, waxaan si faahfaahsan u sharxay sida loo isticmaalo FastAPI si loo dhiso adeegyo API oo sareeya, laga bilaabo diyaarinta deegaanka ilaa abuurista API aasaasi ah, qeexida waddooyinka iyo qaab-dhismeedka xogta, ilaa ku darista aqoonsiga iyo daabacaadda. FastAPI waxay bixisaa hawlo badan oo awood leh, taasoo ka dhigaysa dhisidda API-yada casriga ah mid sahlan oo waxtar leh, waxaadna ka sii baari kartaa hawlo iyo astaamo dheeraad ah adigoo isticmaalaya dukumiintiyada rasmiga ah. Waxaan rajeynayaa in qoraalkan uu kaa caawin doono inaad si dhaqso leh u bilowdo FastAPI, si hufan u kordhiso waxtarka horumarinta mashruucaaga!





