Com utilitzar FastAPI per construir serveis API d'alta rendiment

2/20/2026
4 min read

Com utilitzar FastAPI per construir serveis API d'alta rendiment

FastAPI és un marc web modern i ràpid (eficient), dissenyat específicament per a la construcció d'API. Està basat en les indicacions de tipus de Python i suporta la programació asíncrona, permetent als desenvolupadors construir serveis API d'alta rendiment, alta disponibilitat i baixa latència. Aquest article us explicarà detalladament com utilitzar FastAPI per construir serveis API d'alta rendiment, i ho farem pas a pas per ajudar-vos a aconseguir tot el procés, des de la preparació de l'entorn fins al desplegament.

Pas 1: Preparació de l'entorn

Heu d'assegurar-vos que teniu instal·lat Python 3.6 o superior al vostre entorn de desenvolupament. Si no l'heu instal·lat, podeu visitar la pàgina oficial de Python per descarregar i instal·lar.

Instal·lar FastAPI i Uvicorn

FastAPI per si mateix no proporciona servei, necessita un servidor ASGI per allotjar-se. Aquí utilitzarem Uvicorn, un servidor ASGI d'alta rendiment. Podeu instal·lar FastAPI i Uvicorn amb la següent comanda:

pip install fastapi uvicorn

Pas 2: Construir l'API bàsica

Anem a crear una aplicació FastAPI senzilla.

Crear el fitxer d'aplicació

Al vostre directori de projecte, creeu un fitxer Python, com ara main.py, i escriviu el següent codi:

from fastapi import FastAPI

app = FastAPI()

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

En el codi anterior, primer importem FastAPI i creem una instància app. A continuació, definim una ruta GET que retorna una resposta JSON senzilla quan s'accedeix a la ruta arrel /.

Iniciar el servidor

Inicieu el vostre servidor FastAPI amb la següent comanda:

uvicorn main:app --reload
  • main: es refereix al nom del fitxer, sense l'extensió .py.
  • app: es refereix a la instància de FastAPI.
  • --reload: en mode de desenvolupament, reinicia automàticament el servidor quan es fan canvis al fitxer.

Pas 3: Definir rutes i models de dades

Per establir API complexes, necessitareu utilitzar Pydantic per definir models de dades.

Crear models de dades

Afegeix el següent contingut a main.py:

from pydantic import BaseModel

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

Aquest codi utilitza Pydantic per crear un model de dades Item, que conté tres atributs: nom del producte, preu i disponibilitat.

Afegeix noves rutes

A continuació, podem definir una nova ruta POST per rebre dades del tipus Item:

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

En aquesta ruta, FastAPI validarà automàticament les dades entrants i les maparà al model Item.

Pas 4: Generació automàtica de documentació

Un dels grans avantatges de FastAPI és que pot generar automàticament documentació API. Podeu veure-la accedint a les següents adreces:

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

En aquesta documentació generada, podeu provar l'API de manera interactiva i veure el format de les sol·licituds i respostes de cada ruta.

Pas 5: Afegir autenticació

En aplicacions reals, l'autenticació és un pas important. Afegim una autenticació senzilla basada en rols.

Afegeix dependències de seguretat

Utilitzant el mètode Depends de FastAPI i OAuth2PasswordBearer per implementar l'autenticació:

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

Protegir rutes

A continuació, podeu afegir l'autenticació a les rutes que necessiten protecció:

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

Pas 6: Desplegar l'aplicació FastAPI

Quan acabeu el desenvolupament, és possible que necessiteu desplegar l'aplicació en un servidor al núvol. Podeu optar per desplegar amb Docker.

Crear Dockerfile

Creeu un fitxer anomenat Dockerfile al directori del projecte i escriviu el següent contingut:

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

COPY ./app /app

Construir la imatge Docker

Al vostre terminal, utilitzeu la següent comanda per construir la imatge Docker:

docker build -t myfastapiapp .

Executar el contenidor Docker

Executeu la vostra aplicació FastAPI:

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

Resum

En aquest article, hem explicat detalladament com utilitzar FastAPI per construir serveis API d'alta rendiment, des de la preparació de l'entorn fins a la creació de l'API bàsica, la definició de rutes i models de dades, així com l'afegiment d'autenticació i el desplegament. FastAPI ofereix moltes funcions potents que fan que la construcció d'API modernes sigui senzilla i eficient. Podeu explorar més funcions i característiques a través de la documentació oficial. Esperem que aquest article us ajudi a començar més ràpidament amb FastAPI i a millorar l'eficiència del vostre desenvolupament de projectes!

Published in Technology

You Might Also Like