iT邦幫忙

2025 iThome 鐵人賽

DAY 10
0

前言

使用 Python 時,應該會聽到 FastAPI 這個名字吧?(o゚▽゚)o
它主打「快速、現代、好用」,今天就帶大家來看看什麼是FastAPI吧~


FastAPI 是什麼?

FastAPI 是一個專門用來開發 RESTful API 與 Web 應用程式 的框架。
它的設計理念就是:盡可能簡單,但又不失強大

靠著底層的 Starlette (非同步框架) + Pydantic (資料驗證神器)
FastAPI 成功做到了「開發快、效能高、文件自動化」三合一。


核心特性

1. 高效能

效能幾乎追得上 NodeJSGo,在 Python 世界算是超快了。

2. 自動文件產生

不用額外設定,直接幫你生出 Swagger UI & ReDoc
甚至可以線上測 API,超貼心。

3. 型別驗證超方便

只要用 Python type hints + Pydantic
就能自動驗證、轉換資料,還能順便更新 API 文件。

4. 簡單直觀

程式碼看起來就是「乾淨俐落」,上手難度超低。

from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Item(BaseModel):
    name: str
    price: float
    tags: list[str] = []

@app.post("/items/")
async def create_item(item: Item):
    return {"item_id": 1, "item": item}

5. 同步 / 非同步自由切換

想用 def 還是 async def?隨你挑~
這讓 FastAPI 能靈活應對高併發場景。

6. 易於擴充

支援 OAuth2 / JWT / GraphQL / WebSocket / 背景任務
基本上你想得到的 Web 開發需求,FastAPI 都能幫你搞定。


為什麼選 FastAPI?

  1. 開發效率高 → 型別提示 + 自動驗證,少寫很多 boilerplate
  2. 可讀性強 → 清楚的函式介面、統一的資料模型
  3. 社群活躍 → 生態圈完整,ORM(SQLModel)、驗證、身份認證都有

適用場景

  • 高效能 API / 微服務
  • 需要自動產生 API 文件(不用再寫 Swagger.yaml,好爽)
  • 大量資料驗證的系統(例如 IoT 資料上傳)
  • 需要混合同步/非同步處理(例如 WebSocket、背景任務)

結尾廢話

看完是不是覺得 FastAPI 真的很香 (。・ω・。)ノ♡
高效能、文件自動化、上手簡單,難怪越來越多專案都用它來做後端
(經過spring boot後,真的覺得簡單X)

下次我們來實作一個小 API
所以下一篇見(≧▽≦)/~
reference link


上一篇
[Day 9] 撰寫 第一個 Multi-Agent
系列文
AI Agent 開發養成記:做出屬於自己的Agent P10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言