Kā izmantot FastAPI, lai izveidotu augstas veiktspējas API pakalpojumus
2/20/2026
4 min read
Kā izmantot FastAPI, lai izveidotu augstas veiktspējas API pakalpojumus
FastAPI ir mūsdienīgs, ātrs (efektīvs) tīmekļa ietvars, kas īpaši izstrādāts API izveidei. Tas balstās uz Python tipa norādēm un atbalsta asinkronu programmēšanu, ļaujot izstrādātājiem izveidot augstas veiktspējas, augsti pieejamus, zemas latentuma API pakalpojumus. Šajā rakstā mēs detalizēti izskaidrosim, kā izmantot FastAPI, lai izveidotu augstas veiktspējas API pakalpojumus, un mēs to darīsim soli pa solim, lai palīdzētu jums īstenot visu procesu no vides sagatavošanas līdz izvietošanai.Pirmais solis: Vides sagatavošana
Jums jānodrošina, ka jūsu izstrādes vidē ir instalēta Python 3.6+. Ja tas vēl nav instalēts, varat apmeklēt Python oficiālo vietni, lai lejupielādētu un instalētu.Instalēt FastAPI un Uvicorn
FastAPI pats par sevi nepiedāvā pakalpojumus, tam nepieciešams ASGI serveris, lai to uzņemtu. Šeit mēs izmantosim Uvicorn, augstas veiktspējas ASGI serveri. Varat izmantot šādu komandu, lai instalētu FastAPI un Uvicorn:pip install fastapi uvicorn
Otrais solis: Izveidot pamata API
Izveidosim vienkāršu FastAPI lietojumprogrammu.Izveidot lietojumprogrammas failu
Jūsu projekta direktorijā izveidojiet Python failu, piemēram, `main.py`, un tajā ierakstiet šādu kodu:from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"message": "Hello, World!"}
Iepriekš minētajā kodā mēs vispirms importējām FastAPI un izveidojām `app` instanci. Pēc tam mēs definējām GET maršrutu, kas, piekļūstot saknes ceļam `/`, atgriež vienkāršu JSON atbildi.
Palaižam serveri
Izmantojiet šādu komandu, lai palaistu savu FastAPI serveri:uvicorn main:app --reload
- `main`: attiecas uz faila nosaukumu, bez .py paplašinājuma.
- `app`: attiecas uz FastAPI instanci.
- `--reload`: izstrādes režīmā, kad fails tiek mainīts, serveris automātiski tiek restartēts.
Trešais solis: Definēt maršrutus un datu modeļus
Lai izveidotu sarežģītus API, jums jāizmanto Pydantic, lai definētu datu modeļus.Izveidot datu modeli
Failā `main.py` pievienojiet šādu saturu:from pydantic import BaseModel
class Item(BaseModel):
name: str
price: float
is_available: bool = True
Šis kods izmanto Pydantic, lai izveidotu datu modeli `Item`, kas satur trīs atribūtus: preces nosaukumu, cenu un pieejamību.
Pievienot jaunus maršrutus
Tālāk mēs varam definēt jaunu POST maršrutu, lai saņemtu `Item` tipa datus:@app.post("/items/")
async def create_item(item: Item):
return {"item_name": item.name, "item_price": item.price}
Šajā maršrutā FastAPI automātiski pārbaudīs ienākošos datus un kartēs tos uz `Item` modeli.
Ceturtais solis: Dokumentu automātiska ģenerēšana
Viens no lielākajiem FastAPI ieguvumiem ir tas, ka tas var automātiski ģenerēt API dokumentāciju. Jūs varat to apskatīt, apmeklējot šādas adreses: - **Swagger UI**: `http://127.0.0.1:8000/docs` - **ReDoc**: `http://127.0.0.1:8000/redoc` Šajās ģenerētajās dokumentācijās jūs varat interaktīvi testēt API, apskatīt katra maršruta pieprasījumu un atbildes formātu.Piektais solis: Pievienot autentifikāciju
Reālajā lietojumā autentifikācija ir svarīgs posms. Pievienosim vienkāršu lomu balstītu autentifikāciju.Pievienot drošības atkarības
Izmantojiet FastAPI `Depends` metodi un OAuth2PasswordBearer, lai īstenotu autentifikāciju: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
Aizsargāt maršrutus
Pēc tam jūs varat pievienot autentifikāciju maršrutiem, kuriem nepieciešama aizsardzība:@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
return current_user
Sestais solis: Izvietot FastAPI lietojumprogrammu
Kad esat pabeidzis izstrādi, jums var būt nepieciešams izvietot lietojumprogrammu mākoņu serverī. Jūs varat izvēlēties izmantot Docker izvietošanai.Izveidot Dockerfile
Izveidojiet projekta direktorijā failu ar nosaukumu `Dockerfile`, ievadiet šādu saturu:FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8
COPY ./app /app
Izveidot Docker attēlu
Savā terminālī izmantojiet šādu komandu, lai izveidotu Docker attēlu:docker build -t myfastapiapp .
Palaist Docker konteineru
Palaidiet savu FastAPI lietojumprogrammu:docker run -d --name fastapi -p 80:80 myfastapiapp
Kopsavilkums
Šajā rakstā mēs detalizēti izskaidrojām, kā izmantot FastAPI, lai izveidotu augstas veiktspējas API pakalpojumus, sākot no vides sagatavošanas līdz pamata API izveidei, maršrutu un datu modeļu definēšanai, kā arī autentifikācijas pievienošanai un izvietošanai. FastAPI piedāvā daudz jaudīgu funkciju, kas padara mūsdienu API izveidi vienkāršu un efektīvu, jūs varat tālāk izpētīt vairāk funkciju un īpašību, izmantojot oficiālo dokumentāciju. Ceru, ka šis raksts palīdzēs jums ātrāk apgūt FastAPI un efektīvi uzlabot jūsu projektu izstrādes efektivitāti!Published in Technology





