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

📝
Technology

Claude Code Buddy модификација: Како добити сјајног легендарног љубимца

Claude Code Buddy модификација: Како добити сјајног легендарног љубимца априла 2026. године, Anthropic је у верзији Clau...

Obsidian je lansirao Defuddle, podigao Obsidian Web Clipper na novi nivoTechnology

Obsidian je lansirao Defuddle, podigao Obsidian Web Clipper na novi nivo

Obsidian je lansirao Defuddle, podigao Obsidian Web Clipper na novi nivo Uvek sam voleo osnovnu ideju Obsidiana: lokaln...

OpenAI iznenada najavljuje "tri u jednom": spajanje pretraživača + programiranja + ChatGPT, unutrašnje priznanje da su prošle godine pogrešiliTechnology

OpenAI iznenada najavljuje "tri u jednom": spajanje pretraživača + programiranja + ChatGPT, unutrašnje priznanje da su prošle godine pogrešili

OpenAI iznenada najavljuje "tri u jednom": spajanje pretraživača + programiranja + ChatGPT, unutrašnje priznanje da su p...

2026, ne prisiljavajte se na "disciplinu"! Uradite ovih 8 malih stvari, zdravlje će doći prirodnoHealth

2026, ne prisiljavajte se na "disciplinu"! Uradite ovih 8 malih stvari, zdravlje će doći prirodno

2026, ne prisiljavajte se na "disciplinu"! Uradite ovih 8 malih stvari, zdravlje će doći prirodno Nova godina je počela...

One of the reasons why mothers who work hard to lose weight can't succeed is definitely hereHealth

One of the reasons why mothers who work hard to lose weight can't succeed is definitely here

One of the reasons why mothers who work hard to lose weight can't succeed is definitely here Mart je već prošao, kako n...

📝
Technology

AI Browser 24-сатна стабилна операција

AI Browser 24-сатна стабилна операција Овај водич описује како да се подеси стабилно, дугорочно окружење за AI прегледач...