Подождите, но я только что столкнулся с той же проблемой, пытаясь проанализировать дату и время с помощью RequestParser, и, к сожалению, документы не так полезны для этого сценария, поэтому, увидев и проверив RequestParser и Argument, я думаю, что я нашел проблему:
Когда вы используете type=datetime
в методе add_argument
, под капотом он просто вызывает datetime
с помощью arg, например: datetime(arg)
, поэтому, если ваш параметр является string, как это: 2016-07-12T23:13:3
, ошибка будет an integer is required
.
В моем случае я хотел разобрать строку с этим форматом %Y-%m-%dT%H:%M:%S
в объект datetime, поэтому я решил использовать что-то например type=datetime.strptime
, но, как вы знаете, этот метод нуждается в параметре формата, поэтому я, наконец, использовал это обходное решение:
parser.add_argument('date', type=lambda x: datetime.strptime(x,'%Y-%m-%dT%H:%M:%S'))
Как вы можете видеть таким образом, вы можете использовать все формат, который вы хотите. Кроме того, вы можете использовать partial
functool вместо lambda, чтобы получить тот же результат или именованную функцию.
UPDATE
Это обходное решение довольно эффективно, так как оно находится в документах (я просто понял): http://flask-restful.readthedocs.io/en/latest/extending.html#inputs
Приветствия.