Kako koristiti FastAPI za izgradnju visokoperformantnih API usluga

2/20/2026
4 min read

Kako koristiti FastAPI za izgradnju visokoperformantnih API usluga

FastAPI je moderni, brzi (efikasni) web okvir, posebno dizajniran za izgradnju API-ja. Osnovan je na Python tipovima i podržava asinhrono programiranje, omogućavajući programerima da izgrade visokoperformantne, visoko dostupne API usluge sa niskim kašnjenjem. Ovaj članak će vam detaljno objasniti kako koristiti FastAPI za izgradnju visokoperformantnih API usluga, a mi ćemo to raditi korak po korak, pomažući vam da ostvarite ceo proces od postavljanja okruženja do implementacije.

Prvi korak: Priprema okruženja

Morate se uveriti da je Python 3.6+ instaliran u vašem razvojnog okruženju. Ako još nije instaliran, možete posetiti Python zvaničnu stranicu da preuzmete i instalirate.

Instalacija FastAPI i Uvicorn

FastAPI sam po sebi ne pruža uslugu, potreban je ASGI server da ga podrži. Ovde koristimo Uvicorn, visokoperformantni ASGI server. Možete koristiti sledeću komandu za instalaciju FastAPI i Uvicorn:

pip install fastapi uvicorn

Drugi korak: Izgradnja osnovnog API-ja

Hajde da kreiramo jednostavnu FastAPI aplikaciju.

Kreiranje aplikacione datoteke

U vašem projektnom direktorijumu, kreirajte Python datoteku, na primer main.py, a zatim u njoj napišite sledeći kod:

from fastapi import FastAPI

app = FastAPI()

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

U gornjem kodu, prvo uvozimo FastAPI i kreiramo instancu app. Zatim definišemo GET rutu koja vraća jednostavan JSON odgovor kada se pristupi korenskom putu /.

Pokretanje servera

Pokrenite vaš FastAPI server koristeći sledeću komandu:

uvicorn main:app --reload
  • main: odnosi se na ime datoteke, bez .py ekstenzije.
  • app: odnosi se na FastAPI instancu.
  • --reload: u razvoju, automatski restartuje server kada se datoteke promene.

Treći korak: Definisanje ruta i modela podataka

Da biste izgradili složene API-je, potrebno je koristiti Pydantic za definisanje modela podataka.

Kreiranje modela podataka

U main.py dodajte sledeći sadržaj:

from pydantic import BaseModel

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

Ovaj kod koristi Pydantic za kreiranje modela podataka Item, koji sadrži tri atributa: naziv proizvoda, cenu i dostupnost.

Dodavanje novih ruta

Zatim možemo definisati novu POST rutu za primanje podataka tipa Item:

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

U ovoj ruti, FastAPI će automatski validirati primljene podatke i mapirati ih na Item model.

Četvrti korak: Automatsko generisanje dokumentacije

Jedna od najvećih prednosti FastAPI-a je mogućnost automatskog generisanja API dokumentacije. Možete pristupiti sledećim adresama da biste ih pregledali:

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

U ovim generisanim dokumentima možete interaktivno testirati API, pregledati format zahteva i odgovora za svaku rutu.

Peti korak: Dodavanje autentifikacije

U stvarnim aplikacijama, autentifikacija je važan deo. Hajde da dodamo jednostavnu autentifikaciju zasnovanu na rolama.

Dodavanje sigurnosnih zavisnosti

Koristite FastAPI Depends metodu i OAuth2PasswordBearer za implementaciju autentifikacije:

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

Zaštita ruta

Zatim možete dodati autentifikaciju na rute koje treba zaštititi:

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

Šesti korak: Implementacija FastAPI aplikacije

Kada završite razvoj, možda ćete želeti da implementirate aplikaciju na cloud server. Možete izabrati korišćenje Dockera za implementaciju.

Kreiranje Dockerfile-a

U projektnom direktorijumu kreirajte datoteku pod imenom Dockerfile i unesite sledeći sadržaj:

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

COPY ./app /app

Izgradnja Docker slike

U vašem terminalu, koristite sledeću komandu za izgradnju Docker slike:

docker build -t myfastapiapp .

Pokretanje Docker kontejnera

Pokrenite vašu FastAPI aplikaciju:

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

Zaključak

U ovom članku, detaljno smo objasnili kako koristiti FastAPI za izgradnju visokoperformantnih API usluga, od pripreme okruženja do kreiranja osnovnog API-ja, definisanja ruta i modela podataka, pa sve do dodavanja autentifikacije i implementacije. FastAPI pruža mnoge moćne funkcije, čineći izgradnju modernih API-ja jednostavnom i efikasnom, a možete dalje istraživati više funkcija i karakteristika kroz zvaničnu dokumentaciju. Nadamo se da će vam ovaj članak pomoći da brže savladate FastAPI i efikasno poboljšate vašu produktivnost u razvoju projekata!

Published in Technology

You Might Also Like