1、发现问题
1.1、追踪Api源码,vscode举例,右键点击Api,选择转到定义,确定flask_restful包的位置
from flask_restful import Api
1.2、vscode 打开flask_restful包作为一个项目
1.3、之前的问题是,抛出的HTTPException,会变成这个形状:文章来源:https://www.toymoban.com/news/detail-704986.html
{"message": 你传进去的字符串}
所以全局搜索message
很明显就是这里,点进去
1.4、打印一下
1.5、简单调试一下,发现get_body和get_response都不起作用,直接设置response就可以
1.6、问题解决文章来源地址https://www.toymoban.com/news/detail-704986.html
from werkzeug.exceptions import HTTPException
class APIException(HTTPException):
def __init__(self, description=None, response=None) -> None:
super().__init__()
self.response = {
'status': 'fail',
'message': description
}
到了这里,关于使用Flask-Restful后handle_error干扰无法正常捕获全局异常的解决的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!