介绍
我最近仿照fastapi写了一个flask的api扩展flask-sugar,flask-sugar可以自动注入并校验请求头,cookie,查询参数,路径参数,请求体json,form表单,文件, 响应数据,并生成对应的swagger文档。
文档: https://shangsky.github.io/flask-sugar
源码: https://github.com/shangsky/flask-sugar
安装
pip install flask-sugar
例子
# 保存为app.py
from flask_sugar import Sugar, Header
from pydantic import BaseModel
app = Sugar(__name__)
class Item(BaseModel):
name: str
size: int
class Resp(BaseModel):
a: int
b: str
c: str
item: Item
@app.post("/item/<a>")
def demo(
a: int, # 路径参数
item: Item, # 请求体json参数
b: str = "default_query_param_b", # 查询参数
c: str = Header("default_header_para