reqparse自定义验证错误响应正文

时间:2019-01-23 21:40:11

标签: python flask-restful flask-restplus

当reqparse引发验证错误时,我需要具有自定义响应正文,而不是由flask提供。

例如,而不是使用以下格式:

{
   "message": "Input payload validation failed",
   "errors": {
       "code": "Missing required parameter in the JSON 
         body or the post body or the query string"
    }
}

我需要得到这个:

{
   "status" : 404,
   "message": "message body",
   "type" : "Validation error",
   "extra field" : "whatever"
}

我尝试了

app = Flask(__name__)
api = Api(app, catch_all_404s=True)

def parse_query_parameters(**kwargs):
    parser = reqparse.RequestParser()
    for key, value in kwargs.items():
        parser.add_argument(key, required=value)
    parsed_args = parser.parse_args()
    return parsed_args


def handle_error(self, e):
    code = getattr(e, 'code', 404)
    response_dict = Api.handle_error(self, e).__dict__
    return MyValidationResponse(code, response_dict['response'][0])


class Test(Resource):
    def get(self):
        args = parse_query_parameters(code=True)
        return 'test'

我找不到任何有用的文档,请给我一个提示

0 个答案:

没有答案