flask_restful 中的自定义错误处理程序抛出 NameError
Custom error handler in flask_restful throws NameError
我正在尝试按照 docs 中给出的说明将自定义错误代码添加到 flask_restful API,但是我没有收到正确的响应,我正在NameError: global name 'UnsupportedMediaType' is not defined
条消息。我在这里做错了什么?
# -*- coding: utf-8 -*-
from flask import Flask, request
from flask_restful import Resource, Api
import service
errors = {
'UnsupportedMediaType': {
'message': 'Unsupported Media Type',
'status': 415
}
}
app = Flask(__name__)
api = Api(app, errors=errors)
class Service(Resource):
def post(self):
if request.is_json:
data = request.get_json()
return service.handler(args['data'])
else:
raise UnsupportedMediaType
api.add_resource(Service, '/')
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
您必须将错误处理程序存储到一个函数中。像这样:
def error(exception):
return {some json error data with the message 'exception'}
现在您可以根据需要调用错误处理程序。
或
您可以为此使用 Flask 错误处理程序装饰器。这是 link
我正在尝试按照 docs 中给出的说明将自定义错误代码添加到 flask_restful API,但是我没有收到正确的响应,我正在NameError: global name 'UnsupportedMediaType' is not defined
条消息。我在这里做错了什么?
# -*- coding: utf-8 -*-
from flask import Flask, request
from flask_restful import Resource, Api
import service
errors = {
'UnsupportedMediaType': {
'message': 'Unsupported Media Type',
'status': 415
}
}
app = Flask(__name__)
api = Api(app, errors=errors)
class Service(Resource):
def post(self):
if request.is_json:
data = request.get_json()
return service.handler(args['data'])
else:
raise UnsupportedMediaType
api.add_resource(Service, '/')
if __name__ == '__main__':
app.run(host='0.0.0.0', debug=True)
您必须将错误处理程序存储到一个函数中。像这样:
def error(exception):
return {some json error data with the message 'exception'}
现在您可以根据需要调用错误处理程序。
或
您可以为此使用 Flask 错误处理程序装饰器。这是 link