1、发现问题
1.1、追踪Api源码,vscode举例,右键点击Api,选择转到定义,确定flask_restful包的位置
from flask_restful import Api
1.2、vscode 打开flask_restful包作为一个项目
1.3、之前的问题是,抛出的HTTPException,会变成这个形状:
{"message": 你传进去的字符串}
所以全局搜索message
很明显就是这里,点进去
1.4、打印一下
1.5、简单调试一下,发现get_body和get_response都不起作用,直接设置response就可以
1.6、问题解决
from werkzeug.exceptions import HTTPException
class APIException(HTTPException):
def __init__(self, description=None, response=None) -> None:
super().__init__()
self.response = {
'status': 'fail',
'message': description
}