Я добавляю marshmallow в мой веб-сервис Python, главным образом, чтобы я мог использовать схемы для генерации документов OpenAPI, но я также хотел бы проверить ошибки при сериализации моего ответа API.Я прочитал соответствующую документацию, но не понимаю, почему не вижу ошибок при сериализации неполных объектов.
Например, со следующей схемой:
class UserResponse(Schema):
user = fields.Integer(required=True)
email = fields.Email(required=True)
name = fields.String(required=True)
role = fields.String(required=True)
class Meta:
strict = True
schema = UserResponse()
Валидация работает должным образом:
>>> schema.validate({'user': 1})
ValidationError: {'email': ['Missing data for required field.'], 'role': ['Missing data for required field.'], 'name': ['Missing data for required field.']}
Но сериализация возвращает пустой список ошибок:
>>> schema.dump({'user':1})
MarshalResult(data={'user': 1}, errors={})
Это как это должно работать?Я ожидаю, что будет возвращена ошибка, если в сериализованном объекте отсутствуют обязательные поля.