Python結(jié)合FastAPI搭建一個接口實現(xiàn)自動生成文檔
你是不是也會這樣?花半天時間寫一個 API 接口,還得再花半天時間憋一個 API 文檔。領(lǐng)導(dǎo)催,同事問,光是維護(hù)文檔就要了半條命。
今天,我向你推薦一個Python界的“超級新星”——FastAPI。它能讓你在10分鐘內(nèi),不僅搭好接口,還自動生成一套漂亮的交互式文檔,微軟、Netflix都在用!
第一步:戰(zhàn)前準(zhǔn)備
1、確保你的 Python 環(huán)境(強(qiáng)烈建議 Python 3.8 以上)
$ python3 -V Python 3.12.8
2、創(chuàng)建并激活虛擬環(huán)境(強(qiáng)烈建議)
# 創(chuàng)建項目目錄 $ mkdir fastapi-quickstart # 切換到項目根目錄 $ cd fastapi-quickstart/ # 創(chuàng)建虛擬環(huán)境 $ python3 -m venv .venv $ ls -a . .. .venv # 激活虛擬環(huán)境(macOS/Linux),當(dāng)看 (.venv) 時,表示我們激活成功了。 $ source .venv/bin/activate (.venv) bogon:fastapi-quickstart wt$
3、安裝依賴
# 列出已經(jīng)安裝的依賴包 (.venv) bogon:fastapi-quickstart wt$ pip list Package Version ------- ------- pip 24.3.1 ? # 安裝 fastapi 依賴包,這里使用了清華鏡像源 (.venv) bogon:fastapi-quickstart wt$ pip install fastapi -i https://pypi.tuna.tsinghua.edu.cn/simple ... ? # 安裝 uvicorn 依賴包,這里使用了清華鏡像源 (.venv) bogon:fastapi-quickstart wt$ pip install "uvicorn[standard]" -i https://pypi.tuna.tsinghua.edu.cn/simple ... ? # 列出已經(jīng)安裝的依賴包 (.venv) bogon:fastapi-quickstart wt$ pip list Package Version ----------------- ------- annotated-doc 0.0.4 annotated-types 0.7.0 anyio 4.12.0 click 8.3.1 fastapi 0.124.2 h11 0.16.0 httptools 0.7.1 idna 3.11 pip 24.3.1 pydantic 2.12.5 pydantic_core 2.41.5 python-dotenv 1.2.1 PyYAML 6.0.3 starlette 0.50.0 typing_extensions 4.15.0 typing-inspection 0.4.2 uvicorn 0.38.0 uvloop 0.22.1 watchfiles 1.1.1 websockets 15.0.1
第二步:編寫核心代碼
使用 IDE PyCharm 打開 fastapi-quickstart 項目目錄,新建 main.py 文件,寫入如下代碼:
from fastapi import FastAPI
?
# 創(chuàng)建一個 FastAPI 應(yīng)用實例
app = FastAPI()
?
# 定義一個根路徑的 GET 請求接口
@app.get("/")
async def read_root():
return {"message": "歡迎來到我的第一個 FastAPI 服務(wù)器!"}
第三步:運(yùn)行與測試
切換到終端,我們到 “fastapi-quickstar” 項目根目錄下。(確保當(dāng)前已激活虛擬環(huán)境)
使用 uvicorn main:app --reload 運(yùn)行我們的 FastAPI 應(yīng)用程序。
(.venv) bogon:fastapi-quickstart wt$ uvicorn main:app --reload
INFO: Will watch for changes in these directories: ['/Users/wt/code/fastapi-quickstart']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [10879] using WatchFiles
INFO: Started server process [10881]
INFO: Waiting for application startup.
INFO: Application startup complete.
當(dāng)我們看到 Application startup complete.的信息后,恭喜你!服務(wù)已經(jīng)啟動成功了。
我們打開瀏覽器,訪問 http://127.0.0.1:8000 ,你會看到如下響應(yīng)信息:
{"message":"歡迎來到我的第一個 FastAPI 服務(wù)器!"}
恭喜你!你的 Python API 接口已經(jīng)開發(fā)成功了。
擴(kuò)展:令人驚艷的“魔法” —— 交互式API文檔
這是 FastAPI 最讓人驚艷的地方!它自動為你的API生成了完整的文檔。
你在瀏覽器中訪問 http://127.0.0.1:8000/docs,你會看到一個非常漂亮的界面,里面列出了你所開發(fā)的 API 接口。

你可以點擊它,再點擊 “Try it out”,再點擊 “Execute”。這時,這個頁面里會直接調(diào)用你的 API 接口并查看調(diào)用結(jié)果!而無需要外部工具。

恭喜你! 短短10分鐘,你已經(jīng)成功入門了現(xiàn)代Python Web開發(fā)利器——FastAPI。它不僅速度快,更難得的是讓開發(fā)變得如此簡單直觀。
到此這篇關(guān)于Python結(jié)合FastAPI搭建一個接口實現(xiàn)自動生成文檔的文章就介紹到這了,更多相關(guān)Python自動生成文檔內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實現(xiàn)獲取當(dāng)前日期的所屬信息
在Python中,處理日期和時間是一個常見的任務(wù),它涉及到許多方面,例如獲取日期的年、月、日、星期幾等等,本文將詳細(xì)介紹如何使用Python來獲取當(dāng)前日期的各種相關(guān)信息,需要的可以了解下2024-01-01
python字典嵌套字典的情況下找到某個key的value詳解
這篇文章主要介紹了python字典嵌套字典的情況下找到某個key的value詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-07-07
python3.6.3安裝圖文教程 TensorFlow安裝配置方法
這篇文章主要為大家詳細(xì)介紹了python3.6.3及TensorFlow安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-09-09
python中的opencv和PIL(pillow)轉(zhuǎn)化操作
這篇文章主要介紹了python中的opencv和PIL(pillow)轉(zhuǎn)化操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-03-03
django中F表達(dá)式和Q函數(shù)應(yīng)用與原理詳解
F對象查詢與Q對象查詢,剛看到大家一定會感到很陌生,其實它們也是 Django 提供的查詢方法,而且非常的簡單的高效,下面這篇文章主要給大家介紹了關(guān)于django中F表達(dá)式和Q函數(shù)應(yīng)用與原理的相關(guān)資料,需要的朋友可以參考下2023-05-05
linux下安裝python3和對應(yīng)的pip環(huán)境教程詳解
這篇文章主要介紹了linux下安裝python3和對應(yīng)的pip環(huán)境,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07

