2024-03-26|閱讀時間 ‧ 約 22 分鐘

【🔒 Python API框架篇 - FastAPI】Ep.1 啟航

關於FastAPI這個框架為什麼有什麼樣的優勢, 為什麼會這麼熱門? 歡迎參考「【Python 技術選型】如何選出適合的API框架呢?」。

站在巨人的肩膀上

FastAPI主要基於以下兩個重要的元件組成, StarlettePydantic, 就讓我們來看看兩者的關係吧!


安裝

pip install fastapi

# 安裝ASGI伺服器
pip install "uvicorn[standard]"

簡單的範例

import uvicorn

from fastapi import FastAPI

# 建立進入點
app = FastAPI()

# 定義API
@app.get('/')
def hello_world():
return 'Hello World'

# users的API
@app.get('/users/{user_id}')
def get_users(user_id: int, qry: str = None):
return {'user_id': user_id, 'query': qry}

uvicorn.run(app, host='0.0.0.0', port=8000)

啟動服務

python test.py 

接著我嘗試用curl來存取API。

curl <http://127.0.0.1:8000>

# "Hello World"

curl <http://127.0.0.1:10242/users/1\\?qry\\=10>

# {"user_id":1,"query":"10"}%

互動式文件

前往: http://127.0.0.1:8000/docs



我們可以看到互動式文件會自動進行渲染, 如此一來便結合註解與程式碼就能夠自動產生文檔, 減少溝通成本了。

結語

簡單的幾個步驟我們就能夠完整的架設起一隻API, 這就是FastAPI的厲害之處, 果然非常快速啊! 而且互動式文檔讓我們與前端的溝通上更加順利, 除此之外透過裝飾器也大幅度的提升可讀性, 非常適合入門使用!

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.