🚀 FastAPI 是什么?
FastAPI 是一個用于構建 Web API 的 Python 框架。
可以理解成:
🧰 “一個工具箱,讓你用 Python 寫出能被瀏覽器、App、小程序調用的接口(API)。”
🔧 那什么是 API?
API 就是別人(客戶端)通過 URL 請求,你(服務器)給他數據的接口。
比如你訪問這個地址:
POST https://myapi.com/register
發送了這個請求:
{"username": "alice","password": "123456"
}
FastAPI 會幫你處理這段請求,然后你寫代碼告訴它怎么響應(比如生成一個 JWT 令牌,返回給客戶端)。
? FastAPI 的特點:
特性 | 解釋 |
---|---|
🚀 非常快 | 它基于異步框架 Starlette,性能非常好,適合寫高性能 API。 |
🤖 自動文檔 | 啟動后自動生成 Swagger 文檔界面(你可以點擊測試接口!) |
🛡? 類型檢查強 | 結合 Pydantic,能自動驗證數據格式,避免臟數據。 |
🔐 集成 JWT、OAuth2 | 非常方便做身份驗證、權限控制。 |
🔍 開發體驗好 | 編碼少、運行快、調試爽,適合學習和快速開發。 |
🧠 用 FastAPI 你能做什么?
注冊 / 登錄系統 ?
上傳圖片、文件 ?
圖像處理 API ?(正是你這個項目要用的)
聊天服務接口
移動 App 的后端
微信小程序后端
甚至能做網頁頁面(不常用)
📊 FastAPI 和其他 Python 框架對比:
框架 | 適合用途 | 特點 |
---|---|---|
Flask | 小項目、教程、博客 | 輕量,但功能全靠手動拼 |
Django | 后臺管理系統 | 內置 ORM + 后臺,非常重型 |
FastAPI | 高性能 API、AI 服務 | 快、強、現代化、文檔自動生成 |
👨?💻 FastAPI 小例子:
from fastapi import FastAPIapp = FastAPI()@app.get("/")
def hello():return {"msg": "Hello World"}
你運行后打開瀏覽器,訪問 http://localhost:8000
,就會看到:
{"msg": "Hello World"}
🧪 自動生成的文檔界面:
FastAPI 啟動后自動生成兩個網頁:
http://localhost:8000/docs
→ Swagger UI,可以點點點測試接口http://localhost:8000/redoc
→ ReDoc 格式的 API 文檔