De ce FastAPI?

Introducere în FastAPI

Matt Eckerle

Software and Data Engineering Leader

Ce este FastAPI?

Câțiva termeni esențiali

  1. API: Application Programming Interface – aplicații web care utilizează protocolul HTTP pentru a transmite date structurate
  2. Aplicație web: aplicație care deservește trafic pe web
  3. Framework web: cadru software pentru construirea aplicațiilor web

FastAPI este o modalitate rapidă de a construi API-uri de înaltă performanță în Python

Introducere în FastAPI

Caracteristici cheie ale FastAPI

  • Rapid: Performanță foarte ridicată
  • „Low code" și ușor de învățat: Adnotări și type hints Python
  • Robust: Cod gata de producție cu documentație automată
  • Bazat pe standarde: Conform OpenAPI și JSON Schema

Logo FastAPI

Logo OpenAPI

Logo JSON

1 https://fastapi.tiangolo.com/
Introducere în FastAPI

FastAPI vs. alte framework-uri web Python

Flask

  • Aplicații web (GUI)
  • ORM opțional

FastAPI

  • Construirea de API-uri
  • ORM opțional

Django

  • Aplicații web (GUI)
  • ORM integrat

Diferențe cheie

  • Pentru API-uri fără operațiuni pe baze de date
  • Tranzacții de date și machine learning
Introducere în FastAPI

Prima aplicație web cu FastAPI

1. Instalați FastAPI

pip install fastapi

2. Creați aplicația în main.py

from fastapi import FastAPI

app = FastAPI()

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

3. Porniți serverul

fastapi dev main.py

REPL cu FastAPI în execuție

Introducere în FastAPI

Înainte de a exersa cu FastAPI

Câteva indicații

  1. Serverul FastAPI nu poate fi pornit cu butonul „Run this code"
  2. Definiți codul serverului în editorul Python ca main.py

  3. Rulați-l din terminal cu comanda fastapi dev main.py

  4. Verificați că jurnalele din terminal afișează Application startup complete.
  5. Opriți serverul apăsând Control + C în același terminal
  6. Instalați FastAPI și în propriul mediu Python pentru a exersa local
Introducere în FastAPI

Să exersăm!

Introducere în FastAPI

Preparing Video For Download...