Kuinka rakentaa korkean suorituskyvyn API-palvelu FastAPI:lla

2/20/2026
3 min read

Kuinka rakentaa korkean suorituskyvyn API-palvelu FastAPI:lla

FastAPI on moderni, nopea (tehokas) verkkokehys, joka on suunniteltu API:iden rakentamiseen. Se perustuu Pythonin tyyppivihjeisiin ja tukee asynkronista ohjelmointia, mikä mahdollistaa kehittäjien rakentaa korkean suorituskyvyn, korkeasti saatavilla olevia, alhaisen viiveen API-palveluja. Tässä artikkelissa käymme läpi, kuinka voit käyttää FastAPI:ta korkean suorituskyvyn API-palvelun rakentamiseen, ja jaamme prosessin vaiheittain, jotta voit toteuttaa ympäristön asennuksesta käyttöönottoon.

Ensimmäinen vaihe: Ympäristön valmistelu

Sinun on varmistettava, että kehitysympäristössäsi on asennettuna Python 3.6+. Jos et ole vielä asentanut, voit vierailla Pythonin virallisilla verkkosivuilla ladataksesi ja asentaaksesi sen.

Asenna FastAPI ja Uvicorn

FastAPI itsessään ei tarjoa palvelua, vaan se tarvitsee ASGI-palvelimen. Tässä käytämme Uvicornia, joka on korkean suorituskyvyn ASGI-palvelin. Voit asentaa FastAPI:n ja Uvicornin seuraavalla komennolla:

pip install fastapi uvicorn

Toinen vaihe: Perus API:n rakentaminen

Luodaan yksinkertainen FastAPI-sovellus.

Luo sovellustiedosto

Projektikansiossasi luo Python-tiedosto, kuten main.py, ja kirjoita siihen seuraava koodi:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Hello, World!"}

Yllä olevassa koodissa tuomme ensin FastAPI:n ja luomme app-instanssin. Sitten määrittelemme GET-reitin, joka palauttaa yksinkertaisen JSON-vastauksen juuripolkuun / päästessämme.

Käynnistä palvelin

Käynnistä FastAPI-palvelimesi seuraavalla komennolla:

uvicorn main:app --reload
  • main: viittaa tiedostonimeen ilman .py-päätettä.
  • app: viittaa FastAPI-instanssiin.
  • --reload: Kehitystilassa tiedostomuutosten yhteydessä palvelin käynnistyy automaattisesti uudelleen.

Kolmas vaihe: Reittien ja tietomallien määrittäminen

Rakentaaksesi monimutkaisempia API:ita, sinun on käytettävä Pydanticia tietomallien määrittämiseen.

Luo tietomalli

Lisää main.py-tiedostoon seuraava sisältö:

from pydantic import BaseModel

class Item(BaseModel):
    name: str
    price: float
    is_available: bool = True

Tämä koodi käyttää Pydanticia luodakseen tietomallin Item, joka sisältää kolme ominaisuutta: tuotteen nimi, hinta ja saatavuus.

Lisää uusi reitti

Seuraavaksi voimme määrittää uuden POST-reitin vastaanottamaan Item-tyyppisiä tietoja:

@app.post("/items/")
async def create_item(item: Item):
    return {"item_name": item.name, "item_price": item.price}

Tässä reitissä FastAPI validoi automaattisesti saapuvat tiedot ja kartoittaa ne Item-malliin.

Neljäs vaihe: Asiakirjojen automaattinen luonti

Yksi FastAPI:n suurimmista eduista on sen kyky luoda automaattisesti API-asiakirjoja. Voit tarkastella niitä vierailemalla seuraavissa osoitteissa:

  • Swagger UI: http://127.0.0.1:8000/docs
  • ReDoc: http://127.0.0.1:8000/redoc

Näissä luoduissa asiakirjoissa voit testata API:ta interaktiivisesti ja tarkastella jokaisen reitin pyyntö- ja vastausmuotoja.

Viides vaihe: Lisää todennus

Käytännön sovelluksissa todennus on tärkeä vaihe. Lisätään yksinkertainen rooliin perustuva todennus.

Lisää turvallisuusriippuvuudet

Käytä FastAPI:n Depends-menetelmää ja OAuth2PasswordBearer:ia todennuksen toteuttamiseksi:

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

Suojaa reitit

Sitten voit lisätä todennuksen suojattaviin reitteihin:

@app.get("/users/me")
async def read_users_me(current_user: dict = Depends(get_current_user)):
    return current_user

Kuudes vaihe: FastAPI-sovelluksen käyttöönotto

Kun olet valmis kehityksen kanssa, saatat haluta ottaa sovelluksen käyttöön pilvipalvelimella. Voit valita Dockerin käytön käyttöönotossa.

Luo Dockerfile

Luo projektikansioon tiedosto nimeltä Dockerfile ja kirjoita siihen seuraava sisältö:

FROM tiangolo/uvicorn-gunicorn-fastapi:python3.8

COPY ./app /app

Rakenna Docker-kuva

Käytä terminaalissasi seuraavaa komentoa rakentaaksesi Docker-kuvan:

docker build -t myfastapiapp .

Suorita Docker-kontti

Suorita FastAPI-sovelluksesi:

docker run -d --name fastapi -p 80:80 myfastapiapp

Yhteenveto

Tässä artikkelissa olemme käyneet läpi, kuinka voit käyttää FastAPI:ta korkean suorituskyvyn API-palvelun rakentamiseen, ympäristön valmistelusta perus API:n luomiseen, reittien ja tietomallien määrittämiseen, todennuksen lisäämiseen ja käyttöönottoon. FastAPI tarjoaa monia tehokkaita ominaisuuksia, jotka tekevät modernien API:iden rakentamisesta yksinkertaista ja tehokasta. Voit tutustua virallisiin asiakirjoihin lisäominaisuuksien ja -ominaisuuksien tutkimiseksi. Toivottavasti tämä artikkeli auttaa sinua pääsemään nopeammin alkuun FastAPI:n kanssa ja parantamaan projektisi kehitystehokkuutta!

Published in Technology

You Might Also Like

Kuinka käyttää pilvilaskentateknologiaa: Rakenna ensimmäinen pilvi-infrastruktuurisi täydellinen opasTechnology

Kuinka käyttää pilvilaskentateknologiaa: Rakenna ensimmäinen pilvi-infrastruktuurisi täydellinen opas

[[HTMLPLACEHOLDER0]] [[HTMLPLACEHOLDER1]] [[HTMLPLACEHOLDER2]] [[HTMLPLACEHOLDER3]] [[HTMLPLACEHOLDER4]] [[HTMLPLACEHOLD...

Varoitus! Claude Code isänsä Boris Cherny sanoo: Kuukauden kuluttua Plan Modea ei enää käytetä, ohjelmistosuunnittelijan titteli katoaaTechnology

Varoitus! Claude Code isänsä Boris Cherny sanoo: Kuukauden kuluttua Plan Modea ei enää käytetä, ohjelmistosuunnittelijan titteli katoaa

Varoitus! Claude Code isänsä Boris Cherny sanoo: Kuukauden kuluttua Plan Modea ei enää käytetä, ohjelmistosuunnittelijan...

2026年 Top 10 深度学习资源推荐Technology

2026年 Top 10 深度学习资源推荐

2026年 Top 10 深度学习资源推荐 随着深度学习在各个领域的迅速发展,越来越多的学习资源和工具涌现出来。本文将为您推荐2026年最值得关注的十个深度学习资源,帮助您在这一领域中快速成长。 1. Coursera Deep Learn...

2026 Top 10 AI Agentit: Ydinmyyntipisteiden analyysiTechnology

2026 Top 10 AI Agentit: Ydinmyyntipisteiden analyysi

2026 Top 10 AI Agentit: Ydinmyyntipisteiden analyysi Johdanto Nopean tekoälyn kehityksen myötä AI agentit ovat nousseet ...

2026 vuoden Top 10 AI-työkalusuositukset: Vapauta tekoälyn todellinen potentiaaliTechnology

2026 vuoden Top 10 AI-työkalusuositukset: Vapauta tekoälyn todellinen potentiaali

2026 vuoden Top 10 AI-työkalusuositukset: Vapauta tekoälyn todellinen potentiaali Nykyään, kun teknologia kehittyy nopea...

2026年 Top 10 AWS工具和资源推荐Technology

2026年 Top 10 AWS工具和资源推荐

2026年 Top 10 AWS工具和资源推荐 在快速发展的云计算领域,Amazon Web Services (AWS) 一直是领军者,提供丰富的服务和工具,帮助开发者、企业和技术专家在云上有效工作。以下是2026年值得关注的十大AWS工...