Примеры кода проверок на Pedantic для Flask.
Эта статья будет пополняться примерами.
Проверка списка данных
Модель проверки:
class OperationsUpdateModel(BaseModel):
id: int
confirmed: bool
id: int
confirmed: bool
Как проверить валидацию данных в API и отправить ошибку:
@operations_bp.route('/update-operations/', methods=['PATCH'])
@login_required
def update_operations_route():
try:
data = request.get_json()
try:
list_ = parse_obj_as(List[OperationsUpdateModel], data)
except Exception:
return {"error": "Must be a list {id: int, confirmed: bool}"}, 400
return jsonify('ok')
except Exception as e:
logger.error({e}, exc_info=True)
@login_required
def update_operations_route():
try:
data = request.get_json()
try:
list_ = parse_obj_as(List[OperationsUpdateModel], data)
except Exception:
return {"error": "Must be a list {id: int, confirmed: bool}"}, 400
return jsonify('ok')
except Exception as e:
logger.error({e}, exc_info=True)