在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

flask-Restful 不推荐

from flask_restful import Resource, reqparse

parser = reqparse.RequestParser()
parser.add_argument('username', type=str, required=True, help='Username required')
parser.add_argument('age', type=int, required=True, help='Age required')

class Register(Resource):
    def post(self):
        args = parser.parse_args()
        # 手动校验长度和范围
        if not (3 <= len(args['username']) <= 20):
            return {'error': 'Username length must be 3-20'}, 400
        if not (0 <= args['age'] <= 150):
            return {'error': 'Age must be 0-150'}, 400
        # 还要手动集成文档(比如用 flask-swagger),代码分散在多处
        return {'message': f'Welcome {args["username"]}'}

Fast-api 推荐

from fastapi import FastAPI
from pydantic import BaseModel, Field

app = FastAPI()

class UserReg(BaseModel):
    username: str = Field(..., min_length=3, max_length=20)
    age: int = Field(..., ge=0, le=150)

@app.post('/register')
def register(user: UserReg):
    return {'message': f'Welcome {user.username}'}

FastAPI 注入

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐