FastAPI Hordhac: Hababka ugu Wanaagsan ee Dhisida API-yada Sare ee Waxqabadka
FastAPI Hordhac: Hababka ugu Wanaagsan ee Dhisida API-yada Sare ee Waxqabadka
In horumarinta dambe ee casriga ah, FastAPI ayaa si tartiib tartiib ah u soo ifbaxaya, waxayna noqotay doorasho caan ah oo lagu dhiso API-yada sare ee waxqabadka. Hagegan wuxuu ku siin doonaa faham qoto dheer oo ku saabsan astaamaha, faa'iidooyinka FastAPI, iyo sida loo bilaabo si degdeg ah adigoo raacaya tillaabooyin gaar ah, si aad si hufan ugu dhisto oo aad u daabacdo API-yada mashruucaaga.
Waa maxay FastAPI?
FastAPI waa qaab-dhismeed Web casri ah, oo degdeg ah (waxqabad sare), oo ku saleysan tilmaamaha noocyada Python ee heerka caadiga ah. Waxay u oggolaaneysaa horumariyeyaasha inay si fudud u abuuraan API-yada degdega ah, iyadoo la hubinayo xawaare hawleed oo hufan iyo dayactir wanaagsan. Astaamaha ugu muhiimsan waxaa ka mid ah:
- Waxqabad Sare: Ku saleysan Starlette (qaybta Web) iyo Pydantic (qaybta xogta), waxqabadka ayaa u dhow Node.js iyo Go.
- Dukumiinti Iskiis ah: Iyadoo loo marayo OpenAPI iyo JSON Schema, FastAPI waxay si otomaatig ah u abuureysaa dukumiinti API isdhexgal ah.
- Fududeynta Isticmaalka: Isticmaalka tilmaamaha noocyada Python, waxay yareyneysaa khaladaadka caadiga ah, waxayna kordhisaa wax soo saarka horumariyaha.
- Taageerada Barnaamijka Asynchronous: Waxay taageertaa
asynciyoawait, taasoo ka dhigeysa in la maareeyo codsiyo badan si waxqabadka sare leh.
Faa'iidooyinka FastAPI
FastAPI waxay leedahay faa'iidooyin muuqda marka loo eego qaab-dhismeedyada dhaqameed (sida Django iyo Flask):
- Horumar Degdeg ah: Sababtoo ah dukumiintiyada otomaatiga ah iyo hubinta noocyada, xawaaraha horumarinta ayaa si weyn u kordha.
- Waxqabad Hufan: Ku habboon in lagu maareeyo barnaamijyada leh codsiyo badan, gaar ahaan marka la saaran yahay culeys sare.
- Taageero Noocyo Adag: Iyadoo loo marayo tilmaamaha noocyada, si hufan ayaa loo yareeyaa khaladaadka waqtiga orodka.
- Taageero Tijaabo Wanaagsan: Ku tiirsanaanta gelinta iyo qaab-dhismeedka codsiga ayaa ka dhigeysa tijaabinta iyo hagaajinta mid sahlan.
Sida Loo Bilaabo FastAPI
1. Diyaarinta Deegaanka
Marka hore, hubi inaad rakibtay Python 3.7 ama nooc ka sareeya. Kadib, waxaad isticmaali kartaa amarkan hoose si aad u rakibto FastAPI iyo serverka ASGI Uvicorn:
pip install fastapi uvicorn
2. Abuurista Codsiga Aasaasiga ah ee FastAPI
Kadib, abuur codsi FastAPI fudud. Ku abuur feyl cusub oo main.py ah galkaaga shaqada, nuxurka hoos ku qoran:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "query": q}
3. Socodsiinta Codsiga
Isticmaal Uvicorn si aad u socodsiiso codsiga FastAPI:
uvicorn main:app --reload
Booqo http://127.0.0.1:8000 ee biraawsarkaaga, waxaad arki doontaa jawaabta {"Hello": "World"}. Sidoo kale, booqo http://127.0.0.1:8000/items/1?q=test si aad u hesho {"item_id": 1, "query": "test"}.
4. Dukumiinti Iskiis ah
FastAPI waxay si otomaatig ah u abuurtaa dukumiinti loogu talagalay waddo kasta, waxaadna ka eegi kartaa dukumiintiga isdhexgalka adigoo booqanaya URL-yada soo socda:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
5. Qaab-dhismeedka Xogta iyo Hubinta
FastAPI sidoo kale waxay taageertaa abuurista qaab-dhismeedka xogta iyada oo loo marayo Pydantic, si loo hubiyo jiritaanka jirka codsiga. Tusaale ahaan:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
@app.post("/items/")
async def create_item(item: Item):
return item
Qaybta koodhka kor ku xusan waxay qeexaysaa qaab-dhismeedka xogta Item, FastAPI waxay si otomaatig ah u hubin doontaa xogta JSON ee la keenay.
6. Barnaamijka Asynchronous iyo Syncronous
FastAPI waxay taageertaa barnaamijka asynchronous, waxaadna isticmaali kartaa async def si aad u qeexdo hawlaha waddooyinka asynchronous. Tusaale ahaan:
import asyncio
@app.get("/wait/")
async def wait_for_response():
await asyncio.sleep(1)
return {"message": "Waited for 1 second!"}
7. Daabacaadda Codsiga FastAPI
Codsiga FastAPI waxaa lagu daabici karaa deegaanada kala duwan, oo ay ku jiraan Docker, Kubernetes, adeegyada daruuriga ah, iwm. Tusaale fudud oo ku saabsan daabacaadda FastAPI iyadoo la isticmaalayo Docker:
# Dockerfile
FROM python:3.9
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY . .
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Kadibna dhis sawirka Docker oo socodsi:
docker build -t myfastapiapp .
docker run -d -p 8000:8000 myfastapiapp
Waxaad booqan kartaa http://localhost:8000 si aad u aragto codsigaaga.
Hababka ugu Wanaagsan
- Isticmaalka Tilmaamaha Noocyada: Had iyo jeer isticmaal tilmaamaha noocyada Python si aad u kordhiso akhriska iyo dayactirka koodhka.
- Hubinta Qodobada: Deji hubinta qodobada ku habboon iyadoo loo eegayo baahida ganacsiga, si loo hubiyo in xogta la siiyo API ay sax tahay.
- Si Wadajir ah u Maareynta Khaladaadka: Qeexida maaraynta khaladaadka guud, si loo hubiyo in API ay si sax ah u maareyso khaladaadka.
- Dukumiinti iyo Faallooyin: Hayso dukumiintiga API si joogto ah u cusbooneysii, adigoo isticmaalaya faallooyin iyo dukumiinti si aad u ilaaliso helitaanka koodhka.
- Isticmaalka Middleware: Si macquul ah u isticmaal middleware si aad u fuliso hawlaha sida CORS, aqoonsiga, iwm.
Gunaanad
FastAPI waxay noqotay aalad awood leh oo lagu dhiso API-yada casriga ah ee waxqabadka sare, iyadoo ay sabab u tahay waxtarkeeda iyo fudeydkeeda, waxayna si weyn u soo jiidatay horumariyeyaasha. Haddii aad tahay bilow ama horumariye khibrad leh, waxaad ka faa'iidi doontaa. Horumarinta dhabta ah, isku darka hababka ugu wanaagsan waxay kaa caawin doontaa inaad si hufan u dhisto oo aad u ilaaliso mashruucaaga. Waxaan rajeyneynaa in hagegan uu ku siiyo hagitaan iyo caawimaad safarkaaga barashada FastAPI!





