我正在使用 webapp2 在 App Engine 中进行开发。我想做的是在发生错误时发送自定义 JSON 格式的响应。例如,当请求长度大于阈值时,使用 HTTP 400 和响应正文进行响应
{'error':'InvalidMessageLength'}
在 webapp2 中,可以选择为某些异常分配错误处理程序。例如:
app.error_handlers[400] = handle_error_400
其中 handle_error_400 如下:
def handle_error_400(request, response, exception):
response.write(exception)
response.set_status(400)
当webapp2.RequestHandler.abort(400)
被执行时,上面的代码就被执行了。
如何根据上述设置动态地拥有不同的响应格式(HTML 和 JSON)?也就是说,如何调用不同版本的handle_error_400
函数?