@@ -32,6 +32,8 @@ def _handle_bad_request(
3232 raise BadRequestError (message , solution ) from original_exception
3333 else :
3434 error_response = {"error" : message }
35+ if solution :
36+ error_response ["solution" ] = solution
3537 return make_response (jsonify (error_response ), status_code )
3638
3739
@@ -287,19 +289,21 @@ def wrapper(*args, **kwargs): # type: ignore
287289 for key , type_hint in parameters .items ():
288290 if not _is_optional (type_hint ) and key not in data :
289291 return _handle_bad_request (
290- use_error_handlers , f"Missing key: { key } " , f"Expected keys are: { parameters .keys ()} "
292+ use_error_handlers , f"Missing key: { key } " , f"Expected keys are: { list ( parameters .keys () )} "
291293 )
292294
293295 for key in data :
294296 if key not in parameters :
295297 return _handle_bad_request (
296- use_error_handlers , f"Unexpected key: { key } ." , f"Expected keys are: { parameters .keys ()} "
298+ use_error_handlers , f"Unexpected key: { key } ." , f"Expected keys are: { list ( parameters .keys () )} "
297299 )
298300
299301 for key in data :
300302 if key in parameters and not _check_type (data [key ], parameters [key ], allow_empty ):
301303 return _handle_bad_request (
302- use_error_handlers , f"Wrong type for key { key } ." , f"It should be { parameters [key ]} "
304+ use_error_handlers ,
305+ f"Wrong type for key { key } ." ,
306+ f"It should be { getattr (parameters [key ], '__name__' , str (parameters [key ]))} " ,
303307 )
304308
305309 return fn (* args , ** kwargs )
0 commit comments