验证json请求的flask扩展
flask-json-schema的Python项目详细描述
Flask json模式
这个扩展使得使用jsonschema规范验证发送到Flask应用程序的JSON数据变得很容易
设置
flask json模式在pypi上可用,可以使用
pip install flask-json-schema
扩展可以直接初始化:
fromflaskimportFlaskfromflask_json_schemaimportJsonSchemaapp=Flask(__name__)schema=JsonSchema(app)
或通过工厂方法:
schema=JsonSchema()app=Flask(__name__)schema.init_app(app)
快速示例
fromflask_json_schemaimportJsonSchema,JsonValidationErrorfromflaskimportFlask,jsonify,requestapp=Flask(__name__)schema=JsonSchema(app)todo_schema={'required':['todo'],'properties':{'todo':{'type':'string'},'priority':{'type':'integer'},}}todos=[]@app.errorhandler(JsonValidationError)defvalidation_error(e):returnjsonify({'error':e.message,'errors':[validation_error.messageforvalidation_errorine.errors]})@app.route('/todo',methods=['GET','POST'])@schema.validate(todo_schema)defcreate_message():ifrequest.method=='POST':todos.append(request.get_json())returnjsonify({'success':True,'message':'Created todo'})returnjsonify(todos)app.run('0.0.0.0',5000,debug=True)
有关源代码,请参见example.py
。