fastapi是堪比NODEJS和GO处理性能的python3框架。官网:https://fastapi.tiangolo.com/
FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.
1. 转换 来自网络请求的输入数据为 Python 数据类型。不象Django还要用middleware.
2. 转换 输出的数据:转换 Python 数据类型为供网络传输的 JSON 数据。这也叫序列化,
这个过程比django简单许多。
3. 自动生成的交互式 API 文档,包括两种可选的用户界面:
Swagger UI or ReDoc
4. 安全性和身份验证,包括通过 JWT 令牌和 HTTP 基本身份认证来支持 OAuth2。
5. 支持WebSockets.
example code
from typing import Optional
from fastapi import FastAPI
from pydantic import BaseModel
app = FastAPI()
class Item(BaseModel):
name: str
price: float
is_offer: Optional[bool] = None
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: Optional[str] = None):
return {"item_id": item_id, "q": q}
@app.put("/items/{item_id}")
def update_item(item_id: int, item: Item):
return {"item_name": item.name, "item_id": item_id}