簡介
Fastapi是一款現代的、高性能的web框架, 用於基於標準Python類型提示使用Python 3.6+構建API.
主要特點有:
- 高性能,與NodeJS和Go相當,最快的python 框架之一
- 快速編寫代碼:將功能開發的速度提高大約200%至300%
- 更少的錯誤:減少約40%的人爲錯誤(開發人員)
- 直觀:強大的編輯器支持,花費調試時間更少
- 簡易:旨在易於使用和學習, 減少閱讀文檔的時間。
- 簡短:減少代碼重複
- 穩健:獲取可用於生產環境的代碼, 具有自動交互式文檔。
- 標準化: 基於(並完全兼容)API的開放標準:OpenAPI(以前稱爲Swagger)和JSON模式。
安裝
#pip install fastapi uvicorn
進入項目目錄,運行
#uvicorn main:app --reload...
代碼實例
# -*- coding: utf-8 -*-
# @Time : 2020/7/3 2:16 上午
# @Author : renwoxing
# @File : main.py
# @Software: PyCharm
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: bool
@app.get("/")
async def root():
return {"message": "Hello World"}
@app.get("/item/{item_id}")
def get_item(item_id: int, q: str=None):
return {"item": item_id, "q": q}
@app.put("/item/{item_id}")
def update_item(item_id: int, item: Item):
return {"item_id": item_id, "item_name": item.name}
if __name__ == '__main__':
import uvicorn
uvicorn.run(app, host='127.0.0.1', port=8080)
交互式文檔
http://127.0.0.1:8080/docs#/
API文檔
http://127.0.0.1:8080/redoc