Cum să creezi un API REST în Python cu FastAPI și Flask
In this tutorial, you'll learn about Cum să creezi un API REST în Python cu FastAPI și Flask. We cover key concepts, practical examples, and best practices to help you understand and apply this topic effectively.
Un API REST (Representational State Transfer) îți permite să expui date și funcționalități printr-un set de endpoint-uri HTTP. În acest ghid vei învăța cum să construiești un API REST în Python cu FastAPI și Flask.
Problema
Vrei să expui date sau servicii printr-un API, dar nu știi de unde să începi. Fără un API REST, aplicațiile client nu pot interacționa eficient cu serverul tău.
Soluția Rapidă
1. Alege framework-ul potrivit
FastAPI este recomandat pentru API-uri moderne datorită performanței și validării automate cu Pydantic. Flask este ideal pentru proiecte mici sau când ai nevoie de control total.
2. Instalează dependințele
# Pentru FastAPI
pip install fastapi uvicorn
# Pentru Flask
pip install flask
3. Creează un API minim
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def citeste():
return {"mesaj": "Salut, lume!"}
@app.get("/utilizatori/{id}")
def utilizator(id: int):
return {"id": id, "nume": "John Doe"}
Rulează cu uvicorn main:app --reload.
Flask:
from flask import Flask, jsonify
app = Flask(__name__)
@app.route("/")
def citeste():
return jsonify({"mesaj": "Salut, lume!"})
@app.route("/utilizatori/<int:id>")
def utilizator(id):
return jsonify({"id": id, "nume": "John Doe"})
Rulează cu flask run.
4. Testează API-ul
curl http://127.0.0.1:8000/utilizatori/1
Output:
{"id": 1, "nume": "John Doe"}
Prevenție
- Folosește type hints cu FastAPI pentru validare automată a datelor
- Organizează rutele pe resurse (ex:
/utilizatori,/produse,/comenzi) - Adaugă prefixe de versionare din prima zi
- Nu returna obiecte brute Python -- FastAPI le serializează automat, Flask necesită
jsonify()
Greșeli Comune
- Returnarea string-urilor simple în loc de JSON -- Flask necesită
jsonify()explicit, altfel returnează plain text - Ignorarea codurilor de status HTTP -- un API REST corect folosește 201 pentru creare, 204 pentru ștergere, 404 pentru resurse lipsă
- Expunerea detaliilor de eroare în producție -- dezactivează
debug=Trueși configurează handlere de erori personalizate - Lipsa tipizării parametrilor -- în FastAPI, type hints asigură validare și documentare automată
- Toată logica într-un singur fișier -- separă rutele, modelele și logica de business
Exercițiu Practic
Creează un API REST cu un endpoint POST /utilizatori care primește nume și email în JSON și returnează utilizatorul creat cu un ID generat și status 201.
FAQ
Built by the developers of DodaTech
Doda Browser, DodaZIP & Durga Antivirus Pro