加入webargs验证扩展,分区用于验证的inschema和用户序列化的outschema
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
from flask import render_template
|
||||
from flask import render_template, jsonify
|
||||
|
||||
|
||||
def init_error_views(app):
|
||||
@@ -13,3 +13,22 @@ def init_error_views(app):
|
||||
@app.errorhandler(500)
|
||||
def internal_server_error(e):
|
||||
return render_template('errors/500.html'), 500
|
||||
|
||||
# Return validation errors as JSON
|
||||
@app.errorhandler(422)
|
||||
@app.errorhandler(400)
|
||||
def handle_error(err):
|
||||
headers = err.data.get("headers", None)
|
||||
messages = err.data.get("messages", ["Invalid request."]).get('json')
|
||||
print(err.data.get("messages"))
|
||||
print(messages.items())
|
||||
msg = ''
|
||||
|
||||
for i in messages.items():
|
||||
msg = str(i[0]) + str(i[1][0])
|
||||
break
|
||||
|
||||
if headers:
|
||||
return jsonify({"success": False, "msg": msg})
|
||||
else:
|
||||
return jsonify({"success": False, "msg": msg})
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
from marshmallow import EXCLUDE
|
||||
from webargs.flaskparser import FlaskParser
|
||||
|
||||
|
||||
class Parser(FlaskParser):
|
||||
DEFAULT_UNKNOWN_BY_LOCATION = {"query": EXCLUDE}
|
||||
|
||||
|
||||
parser = Parser()
|
||||
Reference in New Issue
Block a user