FastAPI學習-1.環境准備與基礎入門


前言

FastAPI 是一個用於構建 API 的現代、快速(高性能)的 web 框架,使用 Python 3.6+ 並基於標准的 Python 類型提示。

FastAPI 簡介

FastAPI 關鍵特性:

  • 快速:可與 NodeJS 和 Go 比肩的極高性能(歸功於 Starlette 和 Pydantic)。最快的 Python web 框架之一。
  • 高效編碼:提高功能開發速度約 200% 至 300%。*
  • 更少 bug:減少約 40% 的人為(開發者)導致錯誤。*
  • 智能:極佳的編輯器支持。處處皆可自動補全,減少調試時間。
  • 簡單:設計的易於使用和學習,閱讀文檔的時間更短。
  • 簡短:使代碼重復最小化。通過不同的參數聲明實現豐富功能。bug 更少。
  • 健壯:生產可用級別的代碼。還有自動生成的交互式文檔。
  • 標准化:基於(並完全兼容)API 的相關開放標准:OpenAPI (以前被稱為 Swagger) 和 JSON Schema。

環境准備

只需 pip 就能安裝 fastapi 了

pip install fastapi

還需安裝uvicorn,用作運行代碼的服務器

pip install uvicorn[standard]

也可以一次性安裝fastapi和相關依賴

pip install fastapi[all]

創建項目

在 pycharm 創建一個學習項目,默認用的虛擬環境

打開 Terminal 使用 pip 安裝依賴包

實現第一個 hello world請求

寫一個簡單的get請求,訪問/根路徑,返回{"message": "Hello World"}
以下代碼保存到main.py 文件

from fastapi import FastAPI

app = FastAPI()


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

接下來用命令行啟動服務

uvicorn main:app --reload

啟動服務日志內容

(venv) D:\xuexi\apidemo>uvicorn main:app --reload
?[32mINFO?[0m:     Will watch for changes in these directories: ['D:\\xuexi\\apide
mo']
?[32mINFO?[0m:     Uvicorn running on ?[1mhttp://127.0.0.1:8000?[0m (Press CTRL+C
to quit)
?[32mINFO?[0m:     Started reloader process [?[36m?[1m16552?[0m] using ?[36m?[1mwa
tchgod?[0m
?[32mINFO?[0m:     Started server process [?[36m18548?[0m]
?[32mINFO?[0m:     Waiting for application startup.
?[32mINFO?[0m:     Application startup complete.

uvicorn main:app 命令含義如下:

  • main:main.py 文件(一個 Python「模塊」)。
  • app:在 main.py 文件中通過 app = FastAPI() 創建的對象。
  • --reload:讓服務器在更新代碼后重新啟動。僅在開發時使用該選項。

打開瀏覽器訪問http://127.0.0.1:8000

看到返回{"message":"Hello World"} 說明第一個接口調試成功

交互式API文檔

瀏覽器訪問 http://127.0.0.1:8000/docs,會看到自動生成的 Swagger 接口文檔

展開詳情內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM