FastAPI یک فریم ورک وب مدرن و سریع (با کارایی بالا) برای ساخت APIها با پایتون است. PostgreSQL نیز یک سیستم مدیریت پایگاه داده رابطه ای پیشرفته و متن باز است. ترکیب این دو فناوری، امکان ساخت وب اپلیکیشن های مقیاس پذیر و ایمن را فراهم می کند.
FastAPI:
PostgreSQL:
قبل از شروع، مطمئن شوید که موارد زیر را نصب کرده اید:
با استفاده از pip، FastAPI و کتابخانه های مربوط به PostgreSQL را نصب کنید:
pip install fastapi uvicorn psycopg2-binary
یک فایل پایتون (مثلاً `main.py`) ایجاد کنید و کد زیر را در آن قرار دهید:
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def read_root():
return {"Hello": "World"}
با استفاده از Uvicorn، برنامه را اجرا کنید:
uvicorn main:app --reload
حالا می توانید به آدرس `http://127.0.0.1:8000/` در مرورگر خود مراجعه کنید و نتیجه را مشاهده کنید.
برای اتصال به PostgreSQL، از کتابخانه `psycopg2` استفاده کنید. ابتدا یک تابع برای ایجاد اتصال به پایگاه داده ایجاد کنید:
import psycopg2
def get_db_connection():
conn = None
try:
conn = psycopg2.connect(
host="your_host",
database="your_database",
user="your_user",
password="your_password"
)
return conn
except psycopg2.Error as e:
print(f"Error connecting to PostgreSQL: {e}")
return None
توجه: مقادیر `your_host`, `your_database`, `your_user` و `your_password` را با اطلاعات مربوط به پایگاه داده خود جایگزین کنید.
با استفاده از Pydantic، یک مدل داده برای تعریف ساختار داده ها ایجاد کنید:
from pydantic import BaseModel
class Item(BaseModel):
id: int
name: str
description: str = None
price: float
اکنون می توانید APIهای مختلف را برای انجام عملیات CRUD (ایجاد، خواندن، به روزرسانی، حذف) بر روی داده ها پیاده سازی کنید. به عنوان مثال، برای ایجاد یک آیتم جدید:
@app.post("/items/")
async def create_item(item: Item):
conn = get_db_connection()
if conn:
cur = conn.cursor()
cur.execute(
"INSERT INTO items (id, name, description, price) VALUES (%s, %s, %s, %s)",
(item.id, item.name, item.description, item.price)
)
conn.commit()
cur.close()
conn.close()
return item
else:
return {"error": "Could not connect to the database"}
FastAPI به صورت خودکار مستندات API شما را با استفاده از Swagger UI و ReDoc ایجاد می کند. برای مشاهده مستندات Swagger UI، به آدرس `http://127.0.0.1:8000/docs` و برای مشاهده مستندات ReDoc به آدرس `http://127.0.0.1:8000/redoc` مراجعه کنید.
FastAPI با استفاده از Pydantic، اعتبارسنجی داده ها را به صورت خودکار انجام می دهد. شما می توانید قوانین اعتبارسنجی را در مدل های Pydantic خود تعریف کنید.
برای مدیریت خطاهای پایگاه داده، می توانید از بلوک های `try...except` استفاده کنید و خطاهای مختلف را به صورت جداگانه مدیریت کنید.
برای تامین امنیت API خود، می توانید از روش های مختلفی مانند احراز هویت (Authentication) و مجوزدهی (Authorization) استفاده کنید. FastAPI ابزارهای مختلفی را برای این منظور فراهم می کند.
اگر به دنبال توسعه یک وب اپلیکیشن حرفه ای و کارآمد هستید و نیاز به کمک دارید، با ما تماس بگیرید. تیم متخصص ما آماده ارائه خدمات مشاوره، طراحی و پیاده سازی است. تلفن تماس: 09190994063 - 09376846692