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

閱讀時間約 2 分鐘

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

站在巨人的肩膀上

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

raw-image


安裝

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

raw-image



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

結語

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

avatar-img
118會員
263內容數
哈囉,我是阿Han,是一位 👩‍💻 軟體研發工程師,喜歡閱讀、學習、撰寫文章及教學,擅長以圖代文,化繁為簡,除了幫助自己釐清思路之外,也希望藉由圖解的方式幫助大家共同學習,甚至手把手帶您設計出高品質的軟體產品。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
阿Han的沙龍 的其他內容
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
繼上次分享的「【🔒 影像辨識 - 影像處理】Ep.1 關於影像的基本單位, 相信我們對於影像的儲存應該有了基本的認識了, 那麼接下來我們會需要的是了解顏色的組成。 我們除了在文章裡講述概念之外, 也會提供實作的數位作品分享給大家, 請大家根據範例學習與練習。 關於顏色 灰階的時代 早期尚未
歡迎來到「阿Han的軟體心法實戰營 - 影像處理」系列的文章區,我們會針對影像處理的相關知識、開發技巧進行分享,並教你手把手用程式寫出屬於自己的影像處理程式, 當然也會包括AI模型訓練的部分,就讓我們一起來探索影像處理的領域吧! 在進入影像辨識的世界之前, 我們先來了解一下關於解析度的基本概念吧!
這篇文章主要討論了Toyz超派事件背後的訊息與軟體研發的關聯性,並提出瞭如何減少被批評、以及如何讓機器充當QA的建議。另外也推薦了一些關於良好寫作習慣的主題。通過AI協助排除繁瑣事務,著重於高品質的人際互動,減少分歧與紛爭。
torchaudio 是 PyTorch 的官方音訊處理庫,提供了許多用於音訊數據讀取、轉換和處理的工具和功能。它旨在簡化音訊數據的加載、預處理和後續處理過程,同時與 PyTorch 緊密整合, 包括我們常常用於資料科學處理的Tensor資料。 這個篇章主要在分享我們如何使用標準的I/O進行讀
歡迎來到 【👌 程式碼質量案例】 系列, 這邊我們將分享實際開發過程中會遇到的程式碼難以維護的案例及解決方法, 期望透過這些技巧讓我們的產品更加的穩健也更容易於維護。 P.S 本篇會以Python程式語言進行示範, 其他語言的處理方式也雷同, 包括Javascript、Golang…等。 📖
點陣圖 點陣圖是由許多方格像素組成的圖片, 因此我們常常在將圖片放大時會呈現像是馬賽克的狀況, 假設期望圖片越清晰那所需要的像素會較多個, 因此空間耗用量也相對較大。 常見的格式有: .JPG .PNG .GIF .BMP .TIFF等格式。 繪製程式碼: 向量圖 向量
繼上次分享的「【🔒 影像辨識 - 影像處理】Ep.1 關於影像的基本單位, 相信我們對於影像的儲存應該有了基本的認識了, 那麼接下來我們會需要的是了解顏色的組成。 我們除了在文章裡講述概念之外, 也會提供實作的數位作品分享給大家, 請大家根據範例學習與練習。 關於顏色 灰階的時代 早期尚未
歡迎來到「阿Han的軟體心法實戰營 - 影像處理」系列的文章區,我們會針對影像處理的相關知識、開發技巧進行分享,並教你手把手用程式寫出屬於自己的影像處理程式, 當然也會包括AI模型訓練的部分,就讓我們一起來探索影像處理的領域吧! 在進入影像辨識的世界之前, 我們先來了解一下關於解析度的基本概念吧!
這篇文章主要討論了Toyz超派事件背後的訊息與軟體研發的關聯性,並提出瞭如何減少被批評、以及如何讓機器充當QA的建議。另外也推薦了一些關於良好寫作習慣的主題。通過AI協助排除繁瑣事務,著重於高品質的人際互動,減少分歧與紛爭。
torchaudio 是 PyTorch 的官方音訊處理庫,提供了許多用於音訊數據讀取、轉換和處理的工具和功能。它旨在簡化音訊數據的加載、預處理和後續處理過程,同時與 PyTorch 緊密整合, 包括我們常常用於資料科學處理的Tensor資料。 這個篇章主要在分享我們如何使用標準的I/O進行讀
歡迎來到 【👌 程式碼質量案例】 系列, 這邊我們將分享實際開發過程中會遇到的程式碼難以維護的案例及解決方法, 期望透過這些技巧讓我們的產品更加的穩健也更容易於維護。 P.S 本篇會以Python程式語言進行示範, 其他語言的處理方式也雷同, 包括Javascript、Golang…等。 📖
你可能也想看
Google News 追蹤
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在AI說書 - 從0開始 - 32中,展示了OpenAI的API如何使用,儘管 API 可以滿足許多需求,但它們也有其限制,例如,多用途 API 可能在所有任務
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
這篇文章介紹了Pythonic API在AI模型的推理和部署以及個人化服務方面的性能優勢,以及與商業模式、個人化Knowledge Graph和GenAI的集成。同時探討了Pythonic編程文化、Python效能、API商業模式和人工智慧個人化的相關問題。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
你知道IG是用Django開發的嗎? 正在學習或使用Django、Flask框架開發後端的你,是否也常在享受Python語法的舒適之餘,仍然煩惱著是否該學習效率更好的GO或Laravel。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!
Thumbnail
打開 jupyter notebook 寫一段 python 程式,可以完成五花八門的工作,這是玩程式最簡便的方式,其中可以獲得很多快樂,在現今這種資訊發達的時代,幾乎沒有門檻,只要願意,人人可享用。 下一步,希望程式可以隨時待命聽我吩咐,不想每次都要開電腦,啟動開發環境,只為完成一個重複性高
Thumbnail
※ 什麼是Web API API 就是後端開出來讓前端來用的介面,讓前端與後端可以溝通。 API流程: 終端使用者用任何一種裝置進入瀏覽器。 瀏覽器透過 API 向後端發出請求,請求查詢或修改資料。 後端透過 API 收到前端的請求後,取得資料並回應給前端。 前端渲染畫面,終端使用者
Thumbnail
對於剛接觸Python程式的使用者來說,要一口氣學會爬蟲可能相對困難,但若想即時且輕鬆獲得台股相關數據,你可以利用證交所所提供的API進行數據蒐集。只需要簡單幾行程式碼,就能輕鬆抓到台股上千支股票的每日資訊,是不是棒呆了!!
Thumbnail
我想要一天分享一點「LLM從底層堆疊的技術」,並且每篇文章長度控制在三分鐘以內,讓大家不會壓力太大,但是又能夠每天成長一點。 我們已經在AI說書 - 從0開始 - 32中,展示了OpenAI的API如何使用,儘管 API 可以滿足許多需求,但它們也有其限制,例如,多用途 API 可能在所有任務
Thumbnail
什麼是Python python是電腦程式語言的一種,如同python官方網站上的介紹 "Python是一種程式語,可讓你更快速地工作並更有效的整合系統"。簡單地說,就是你可用python這個程式語言去告訴電腦你想要作什麼,讓電腦來幫你完成你要作的事情。
這篇文章介紹了Pythonic API在AI模型的推理和部署以及個人化服務方面的性能優勢,以及與商業模式、個人化Knowledge Graph和GenAI的集成。同時探討了Pythonic編程文化、Python效能、API商業模式和人工智慧個人化的相關問題。
Thumbnail
Python是一種易學且功能強大的程式語言,具有直譯、動態語法等特性,並擁有豐富的標準庫。它在各領域如Web開發、數據科學和人工智慧等得到廣泛應用,並被許多大公司如Google和Facebook等使用。Python還有強大的框架、豐富的交互機能、和龐大的社區。
Thumbnail
你知道IG是用Django開發的嗎? 正在學習或使用Django、Flask框架開發後端的你,是否也常在享受Python語法的舒適之餘,仍然煩惱著是否該學習效率更好的GO或Laravel。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
先前幾篇筆記介紹了網路請求,瀏覽器儲存資料的方式,那麼實務上,前端最常需要發送網路請求的時候,就是透過呼叫 API,去向後端工程師發送/請求資料,所以今天來記錄什麼是 API吧!