栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Flask:装饰器以验证JSON和JSON模式

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Flask:装饰器以验证JSON和JSON模式

只需

request
在装饰器中使用全局上下文即可。 在任何请求中 都可用。

from functools import wrapsfrom flask import (    current_app,    jsonify,    request,)def validate_json(f):    @wraps(f)    def wrapper(*args, **kw):        try: request.json        except BadRequest, e: msg = "payload must be a valid json" return jsonify({"error": msg}), 400        return f(*args, **kw)    return wrapperdef validate_schema(schema_name):    def decorator(f):        @wraps(f)        def wrapper(*args, **kw): try:     validate(request.json, current_app.config[schema_name]) except ValidationError, e:     return jsonify({"error": e.message}), 400 return f(*args, **kw)        return wrapper    return decorator

应用这些装饰 应用

@route
装饰; 您要注册包装功能,而不是路由的原始功能:

@app.route('/activate', methods=['POST'])@validate_json@validate_schema('activate_schema')def activate():    input = request.json


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/645674.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号