為dokcer中最簡版ubuntu(70M)增加apt安裝能力
阿新 • • 發佈:2021-12-24
FastAPI(1)- 簡單介紹前言
為啥要學它呢,因為學 Flask 的時候發現有人更推薦它代替 Flask,看了下介紹,感覺很強,而且也能拿來做平臺,當然學起來!捲起來!
為什麼要使用 FastAPI ?
- 日漸沒落的是後端 HTML 渲染這種方式,比如 Flask + Jinja2
- 前後端分離成為主流
- 非同步框架
官方地址
FastAPI 是什麼?
- FastAPI是一個現代、快速(高效能)的web框架
- 用於基於標準 Python 型別提示使用 Python 3.6+ 構建API
FastAPI 版本要求
支援 Python 3.6+
FastAPI 優點
直接搬官網
- 型別檢查、自動 swagger UI、支援 asyncio、強大的依賴注入系統
- 圍繞著框架本身的外掛生態,比如 pydantic,sqlalchemy,成熟
- 速度快:非常高的效能,與 NodeJS 和 Go 不相上下,多虧 Starlette 和 Pydantic,FastAPI 是最快的 Python 框架之一;
- 編碼快:將開發特性所需的速度提高大約 200% 到 300%;
- 錯誤少:減少大約 40% 的人為(開發)錯誤;
- 直觀:強大的編輯器支援,支援多場景開發,除錯所花的時間更少;
- 簡單:被設計為易於使用和學習,減少閱讀文件的時間;
- 程式碼少:最小化重複,更少的錯誤;
- 健壯:程式碼可隨時部署到生產環境,並自動提供互動文件;
- 標準:基於(並完全相容) api 的開放標準:OpenAPI (以前稱為 Swagger )和 JSON 模式
Pydantic 在 FastAPI
- FastAPI 是完全建立在 Pydantic 的基礎之上的
- Pydantic是一個用來用來執行資料校驗的 Python 庫
Type Hints 在 FastAPI
- Type Hints
- typing 模組
使用FastAPI時用 Type Hints 宣告引數可以獲得
- 編輯器支援智慧提示,錯誤檢查
- 型別檢查,不對會報 warning
FastAPI 還會用型別提示來做
- 定義引數要求:宣告對請求路徑引數、查詢引數、請求頭、請求體、依賴等的要求
- 轉換資料:將來自請求的資料轉換為需要的型別
- 校驗資料: 對於每一個請求當資料校驗失敗時自動生成錯誤資訊返回給客戶端
- 使用 OpenAPI記錄API:然後用於自動生成互動式文件的使用者介面,引數會顯示對應的型別註釋