使用适当的消息进行Flask Restful请求解析



我使用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是否允许在数据类型事件丢失和无效的情况下具有不同的消息。

Hie,

我认为你应该试试棉花糖。

它将处理无效或丢失的数据。

此外,flask restful文档指出,ReqParse将在即将发布的版本中删除。

因此,根据flask restful文档的建议,我必须使用webargs来解析我的请求,在幕后它使用了棉花糖。这里有一个示例,可以帮助任何想要使用它的人

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"}

最新更新