我正在使用Flask Restful的reqparse接口来解析请求参数。我有必要的日期字段,我必须执行验证
parser = reqparse.RequestParser(bundle_errors=True)
parser.add_argument('date',type=date_type,required=True,help='date cannot be blank')
args = parser.parse_args()
我已经定义了自定义date_type类型,用于验证可以使用python-dateutil包解析该字符串到目前为止
def date_type(date_str):
try:
return parser.parse(date_str)
except:
raise ValueError('Not a valid date format')
我想返回相应的消息,如果缺少日期字段或日期不是有效日期但是使用add_argument,我只允许只有一条帮助消息。 add_argument是否允许在丢失和无效数据类型事件的情况下使用不同的消息。
答案 0 :(得分:1)
答案 1 :(得分:1)
正如烧瓶文件所建议的那样,我必须使用webargs解析我的请求,在幕后它使用marshmallow。 这是一个示例示例,可以帮助任何想要使用它的人
from webargs import fields
from webargs.flaskparser import use_args
user_args={
'user_id':fields.Int(required=True),
'date':fields.DateTime(required=True)),
'start_date':fields.DateTime(required=False)
}
class User(Resource):
#method_decorators = [requires_auth]
@use_args(user_args)
def get(self,args):
return {"hello":"world"}