FastAPI--快速入門(1)


一、簡介

FastAPI 是一個高性能 Web 框架,用於構建 API。

主要特性:

  • 快速:非常高的性能,與 NodeJS 和 Go 相當
  • 快速編碼:將功能開發速度提高約 200% 至 300%
  • 更少的錯誤:減少約 40% 的人為錯誤
  • 直觀:強大的編輯器支持,自動補全無處不在,調試時間更少
  • 簡易:旨在易於使用和學習,減少閱讀文檔的時間。
  • 簡短:減少代碼重復。
  • 穩健:獲取可用於生產環境的代碼,具有自動交互式文檔
  • 基於標准:基於並完全兼容 API 的開放標准 OpenAPI 和 JSON Schema

 

官方鏈接:https://fastapi.tiangolo.com/

 

二、第一個Hello World

注意事項,因為FastAPI僅支持Python3.6+的API,所以需要再Python3.6+的環境進行學習實踐!

安裝依賴

FastAPI - 是一個現代的,快速(高性能)python web框架

pip3 install fastapi

uvicorn - 主要用於加載和提供應用程序的服務器.

pip3 install uvicorn

 

Hello World

main.py

import uvicorn
from fastapi import FastAPI

app = FastAPI()

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

if __name__ == '__main__':
    uvicorn.run(app='main:app', host="127.0.0.1", port=8000, reload=True, debug=True)

參數解釋:

app = FastAPI() 用於實例化 FastAPI類,通常app這個變量會設置成全局的,至少在當前模塊作用域有效。

@app.get("/") 是一個裝飾器,在這里的作用是將普通的Python函數變成一個get請求接口 ("/")表示url是根目錄主頁。

 至於函數里的代碼就很好理解了,定義了一個函數,然后return 了一個字典,表示接口被訪問時默認會返回一個JSON格式的數據回去(當然也可以return別的數據格式,例如字符串、列表等)。

uvicorn.run(app='main:app', host="127.0.0.1", port=8000, reload=True, debug=True)

表示使用uvicorn啟動當前目錄下main.py這個文件里的app實例

reload=True的意思是文件內容變更后自動重啟服務,便於開發調試。

 

啟動程序,使用pycharm啟動,或者在命令行模式下啟動

python3 main.py

 

訪問首頁

http://127.0.0.1:8000/

 

效果如下:

 

 

API文檔交互

http://127.0.0.1:8000/docs

你將會看到自動生成的API交互文檔(由 Swagger UI提供):

 

 

可選的API文檔

http://127.0.0.1:8000/redoc

 

你將會看到自動生成的可選的API文檔(由(provided by ReDoc提供):

 

 

 

本文參考鏈接:

http://www.zyiz.net/tech/detail-119883.html

https://www.jianshu.com/p/94710ed35b92

 


免責聲明!

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



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