Jinsi ya Kutumia FastAPI Kujenga Huduma za API zenye Utendaji wa Juu
Jinsi ya Kutumia FastAPI Kujenga Huduma za API zenye Utendaji wa Juu
FastAPI ni mfumo wa wavuti wa kisasa, wa haraka (mwenye ufanisi), ulioandaliwa mahsusi kwa ajili ya kujenga API. Inategemea vidokezo vya aina za Python, na inasaidia programu za asynchronous, inaruhusu waendelezaji kujenga huduma za API zenye utendaji wa juu, zenye upatikanaji mzuri na ucheleweshaji mdogo. Makala hii itakuelezea kwa undani jinsi ya kutumia FastAPI kujenga huduma za API zenye utendaji wa juu, tutafanya hatua kwa hatua ili kusaidia kufanikisha mchakato mzima kutoka kwa kuandaa mazingira hadi kutekeleza.
Hatua ya Kwanza: Kuandaa Mazingira
Unahitaji kuhakikisha kuwa mazingira yako ya maendeleo yana Python 3.6+. Ikiwa bado hujaweka, unaweza kutembelea Tovuti rasmi ya Python kupakua na kusanidi.
Kuinstall FastAPI na Uvicorn
FastAPI yenyewe haitoi huduma, inahitaji seva ya ASGI kuibeba. Hapa tunatumia Uvicorn, seva ya ASGI yenye utendaji wa juu. Unaweza kutumia amri zifuatazo kuinstall FastAPI na Uvicorn:
pip install fastapi uvicorn
Hatua ya Pili: Kujenga API ya Msingi
Hebu tuunde programu rahisi ya FastAPI.
Kuunda Faili la Programu
Katika saraka yako ya mradi, tengeneza faili la Python, kama vile main.py, kisha andika msimbo ufuatao:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}
Katika msimbo huu, kwanza tunaleta FastAPI na kuunda mfano wa app. Kisha, tunafafanua njia ya GET, ambayo inarudisha jibu rahisi la JSON tunapofikia njia ya mizizi /.
Kuanzisha Seva
Anza seva yako ya FastAPI kwa kutumia amri zifuatazo:
uvicorn main:app --reload
main: inamaanisha jina la faili, bila kiambishi cha .py.app: inamaanisha mfano wa FastAPI.--reload: katika hali ya maendeleo, seva itaanza upya kiotomatiki wakati faili zitakapobadilika.
Hatua ya Tatu: Kufafanua Njia na Mifano ya Takwimu
Ili kujenga API ngumu, unahitaji kutumia Pydantic kufafanua mifano ya takwimu.
Kuunda Mfano wa Takwimu
Katika main.py, ongeza yaliyomo yafuatayo:
from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
Msimbo huu unatumia Pydantic kuunda mfano wa takwimu Item, ambao una mali tatu: jina la bidhaa, bei, na upatikanaji.
Kuongeza Njia Mpya
Kisha, tunaweza kufafanua njia mpya ya POST ili kupokea takwimu za aina ya Item:
@app.post("/items/")
async def create_item(item: Item):
return {"item_name": item.name, "item_price": item.price}
Katika njia hii, FastAPI itathibitisha kiotomatiki takwimu zinazopitishwa na kuziunganisha na mfano wa Item.
Hatua ya Nne: Kuunda Hati Kiotomatiki
Moja ya faida kubwa za FastAPI ni uwezo wa kuunda hati za API kiotomatiki. Unaweza kutembelea anwani ifuatayo ili kuona:
- Swagger UI:
http://127.0.0.1:8000/docs - ReDoc:
http://127.0.0.1:8000/redoc
Katika hati hizi zilizoundwa, unaweza kujaribu API kwa njia ya mwingiliano, kuona muundo wa maombi na majibu ya kila njia.
Hatua ya Tano: Kuongeza Uthibitisho
Katika matumizi halisi, uthibitisho ni hatua muhimu. Hebu tuongeze uthibitisho rahisi wa msingi wa jukumu.
Kuongeza Mahitaji ya Usalama
Tumia njia ya Depends ya FastAPI na OAuth2PasswordBearer kutekeleza uthibitisho:
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
Kulinda Njia
Kisha, unaweza kuongeza uthibitisho kwenye njia zinazohitaji kulindwa:
@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
return current_user
Hatua ya Sita: Kutekeleza Programu ya FastAPI
Unapokamilisha maendeleo, unaweza kuhitaji kutekeleza programu kwenye seva ya wingu. Unaweza kuchagua kutumia Docker kwa ajili ya kutekeleza.
Kuunda Dockerfile
Katika saraka ya mradi, tengeneza faili liitwalo Dockerfile, ingiza yaliyomo yafuatayo:
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app
Kujenga Picha ya Docker
Katika terminal yako, tumia amri zifuatazo kujenga picha ya Docker:
docker build -t myfastapiapp .
Kuendesha Kontena la Docker
endesha programu yako ya FastAPI:
docker run -d --name fastapi -p 80:80 myfastapiapp
Muhtasari
Katika makala hii, tumeelezea kwa undani jinsi ya kutumia FastAPI kujenga huduma za API zenye utendaji wa juu, kutoka kwa kuandaa mazingira hadi kuunda API ya msingi, kufafanua njia na mifano ya takwimu, na kuongeza uthibitisho na kutekeleza. FastAPI inatoa vipengele vingi vya nguvu, vinavyofanya kujenga API za kisasa kuwa rahisi na zenye ufanisi, unaweza kuchunguza zaidi vipengele na sifa kupitia hati rasmi. Tunatumai makala hii itakusaidia kuanza haraka na FastAPI, na kuboresha ufanisi wa maendeleo ya mradi wako!





