我有一个API端点,我使用了Flask,Flask Rest-plus来解析我使用request-parser的请求。
问题是当我发送POST请求进行注册时一切正常,但是当我尝试从发布请求中删除电话号码时,出现错误400(错误请求),这是合乎逻辑的,问题是我想自定义此响应,因为该响应是由request-parser发送的(默认响应)
这是默认响应:
{
"errors": {
"phones": "Your phone Missing required parameter in the post body",
"email": "your email@gmail.com Missing required parameter in the post body",
"password": "The preference use uppercase && lowercase && special characters Missing required parameter in the post body",
"confirmPassword": "The preference use uppercase && lowercase && special characters Missing required parameter in the post body"
},
"message": "Input payload validation failed"
}
我想要这个回复:
{
"body": {
},
"message": "send all inputs"
}
主要问题是,即使我自定义errorHandler方法,它也不会返回我想要的响应
先谢谢了。
我用过
abort(code=400, message="value")
abort(code=400, {message="value"})
但不起作用
{
"errors": {
"phones": "Your phone Missing required parameter in the post body",
"email": "your email@gmail.com Missing required parameter in the post body",
"password": "The preference use uppercase && lowercase && special characters Missing required parameter in the post body",
"confirmPassword": "The preference use uppercase && lowercase && special characters Missing required parameter in the post body"
},
"message": "Input payload validation failed"
}
我想要这个回复:
{
"body": {
},
"message": "send all inputs"
}
在我的剩余文件中:
@api.errorhandler(BadRequest)
def request_error_handler(e):
print(e)
message = 'It seems that you sent an incorrect payload.'
return render(message), HTTP['_bad_request']
Render方法返回一个对象:
def render(message, body={}):
"""
Render response
:return: string
"""
return {"message": message, "body": body}
我想要这个回复:
{
"body": {
},
"message": "send all inputs"
}