ساخت API REST با FastAPI؛ از مستندات تا احراز هویت
دستهبندی: آموزش برنامهنویسی بکاند | تاریخ: پانزدهم مرداد ۱۴۰۴
۱. FastAPI چیست و چرا محبوب است؟
- سرعت بالا و عملکرد در حد Node.js
- استفاده از تایپینگ پایتون برای اعتبارسنجی خودکار
- ساخت خودکار مستندات API با Swagger و ReDoc
- پشتیبانی ساده از JWT و OAuth2 برای احراز هویت
نصب FastAPI و راهاندازی اولیه
pip install fastapi uvicorn
# main.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"message": "سلام API!"}
اجرای پروژه با دستور زیر:
uvicorn main:app --reload
۲. مستندسازی خودکار API با Swagger
وقتی API را اجرا کنید، FastAPI بهصورت خودکار مستندات شما را در مسیر/docs
و /redoc
ایجاد میکند. این ویژگی، سرعت توسعه و تست API را بهطرز چشمگیری افزایش میدهد.
پیادهسازی احراز هویت ساده با JWT
برای ساخت سیستم لاگین با توکن JWT از کتابخانههایی مثل python-jose
استفاده میشود. در ادامه ساختار کلی احراز هویت را مشاهده میکنید:
from fastapi.security import OAuth2PasswordBearer
oauth2_scheme = OAuth2PasswordBearer(tokenUrl="token")
@app.get("/profile")
def get_profile(token: str = Depends(oauth2_scheme)):
return {"user": "پروفایل کاربر"}
شما میتوانید رمزنگاری، انقضا و تأیید توکن را نیز در یک ماژول جداگانه پیادهسازی کنید.
۳. چه پروژههایی میتوان با FastAPI ساخت؟
- ساخت API برای اپلیکیشن موبایل
- پیادهسازی پنل مدیریتی با فرانتاند جداگانه
- رباتهای تلگرام مبتنی بر API
- اتصال به دیتابیس PostgreSQL یا MongoDB