iT邦幫忙

2023 iThome 鐵人賽

DAY 2
0

接下來,就要開始正式進入 FastAPI 的文章了~

FastAPI 簡介

FastAPI-logo

FastAPI 是誰?

FastAPI 是一個 Python 網路框架,首次發布於 2018 年,主打的就是簡單、好用、快速,它不僅程式本身快,開發上也很快,因此在需要快速建立 API 的時候是一個很好的選擇。

甚至在官網中也有一再強調它是「最快的 Python 框架之一」(one of the fastest Python frameworks available)

FastAPI 為什麼快?

FastAPI 之所以能這麼快,最主要的原因有以下這幾點:

  1. 使用 ASGI (Asynchronous Server Gateway Interface)
    • 相較於 WSGI (Web Server Gateway Interface),ASGI 可以很容易做到異步(asynchronous)處理,因此當有多個 API 同時使用時,可以更快速地完成
    • 其他框架 (例如:Flask),就需要整合其他功能、套件才有辦法做到

    FastAPI 需要搭配 ASGI server 才能使用,例如:Uvicorn

  2. 使用較高效能的套件,例如 Pydandic

FastAPI 還有什麼優點?

除此之外,FastAPI 還有許多優點,包含:

  1. 型別檢查
    • 讓你可以宣告型別並執行檢查
  2. 自動生成 API 文件
    • 省去大量無聊的時間寫文件
  3. 支援依賴注入(Dependeny Injection)
    • 方便管理各個 API

這些功能也會在後續的文章中逐一介紹到~

此外,因為 Python 好學好上手,很適合做為入門的程式語言,讓很多人願意投入 Python 的社群,開發各種不同功能的套件。這幾年,Python 在各個領域都有很好的發展,像是資料科學、人工智慧等,有許多完整的套件可以使用。因此,使用 Python 做為後端程式語言,在未來功能上開發會有很大擴充性。

那其他框架呢?

說到 Python 網路框架,大家自然而然就會把 FastAPI 跟老牌的 FlaskDjangle 做比較
這邊因為我只用過 FastAPI,就不進行評比了,網路上也有很多相關的討論,只不過也有文章認為這樣比不太公平就是了。

第一個程式

接下來,讓我們就來快速建立第一個 FastAPI 程式

安裝

要安裝的套件有兩個,一個是本系列文章的主角 FastAPI,另一個則是運行 FastAPI 的 ASGI server

pip install fastapi
pip install "uvicorn[standard]"

安裝完之後,可以輸入 pip freeze 看一下裝了哪些東西
pip-freeze

主程式

接下來建立 main.py

from fastapi import FastAPI

app = FastAPI()


@app.get("/")
async def root():
    return {"message": "Hello World"}

啟動

接著在 terminal 輸入指令啟動

uvicorn main:app

這行指令的意思簡單來說就是用 uvicorn 去啟動 main.py 內的 app 物件

啟動後,就會看到 terminal 出現以下資訊
terminal

要停止的話,按下 Ctrl + C 即可

享受美好成果

接下來開啟瀏覽器,進到上面所寫的網址(預設是 http://127.0.0.1:8000/ ),如果有看到 {"message": "Hello World"},就表示有順利建立 fastAPI 後端伺服器了,是不是真的很容易呢?
browser

意不意外開不開心

接下來,明天會說明 main.py 的內容,並開始介紹怎麼設定 API ~


上一篇
[Day 01] 緣起
下一篇
[Day 03] 路由設定
系列文
FastAPI 開發筆記:從新手到專家的成長之路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言