flask_Restful数据解析参数设置

 参数验证也叫参数解析

Flask-Restful插件提供了类似WTForms来验证提交的数据是否合法

的包,叫做reqparse。

# Flask_RESTFUl数据解析
from flask import Flask,render_template
from flask_restful import Api,Resource
from flask_restful.reqparse import RequestParser

app = Flask(__name__)
api = Api(app)

class RegisterView(Resource):
    def post(self):
        # 建立解析器
        parser = RequestParser()
        # 定义数据的解析规则
        parser.add_argument('uname',type=str,required=True,help='用户名验证错误',trim=True,location="args")
        # 解析数据
        args = parser.parse_args()
        # 正确,直接获取参数
        print(args)
             # 错误,回馈到前端
        # 响应数据
        return {'msg':'注册成功'}
    
# 建议映射关系
api.add_resource(RegisterView,'/register')

if __name__=="__main__":
    app.run(debug=True)

未传参执行结果

传参执行结果

add_argument 方法参数详解
  • add_argument方法可以指定这个字段的名字,这个字段的数据类 型等,验证错误提示信息等,具体如下:
  • default默认值,如果这个参数没有值,那么将使用这个参数 指定的默认值。
  • required是否必须。默认为False,如果设置为True,那么这 个参数就必须提交上来。
  • type这个参数的数据类型,如果指定,那么将使用指定的数 据类型来强制转换提交上来的值。可以使用python自带的一些 数据类型(str或者int),也可以使用flask_restful.inputs下的一 些特定的数据类型来强制转换。 url:会判断这个参数的值是否是一个url,如果不是,那么就会抛出异常。 regex:正则表达式。 date:将这个字符串转换为datetime.date数据类型。如果转换不成功,则会抛出一个异常.
  • choices固定选项。提交上来的值只有满足这个选项中的值才 符合验证通过,否则验证不通过。
  • help错误信息。如果验证失败后,将会使用这个参数指定的 值作为错误信息。
  • trim是否要去掉前后的空格。
# flask_Restful数据解析参数设置
from flask import Flask
from flask_restful import Api,Resource,inputs
from  flask_restful.reqparse import RequestParser

app = Flask(__name__)
api = Api(app)

class RegisterView(Resource):
    def post(self):
        # 建立解析器
        parser = RequestParser()
        # 定义解析规则
        parser.add_argument('uname',type=str,required=True,trim=True,help='用户名不符合规范',location="args")
        parser.add_argument('pwd',type=str,help='密码错误',default='123456',location="args")
        parser.add_argument('age',type=int,help ='年龄验证错误!',location="args")
        parser.add_argument('gender',type=str,choices=['男','女','保密'],help='性别验证错误',location="args")
        parser.add_argument('birthday',type=inputs.date,help='生日验证错误',location="args")
        parser.add_argument('phone',type=inputs.regex('^1[356789]\d{9}$'),help='电话验证错误',location="args")
        parser.add_argument('homeage',type=inputs.url,help='个人主页验证错误',location="args")
        # 解析数据
        args = parser.parse_args()
        print(args)
        return {'msg':'注册成功!'}

api.add_resource(RegisterView,'/register')

if __name__=="__main__":
    app.run(debug=True)

执行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值