当前位置: 首页 > news >正文

flask_Restful数据解析参数设置

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 RequestParserapp = 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)

执行结果:

相关文章:

  • [ Linux ] git工具的基本使用(仓库的构建,提交)
  • flowable-ui后台显式非中文
  • 百度文心一言(ERNIE bot)API接入Android应用
  • DNS、DNS劫持与HTTPDNS:原理、应用与安全分析
  • 外包干了一个月,忘记Git怎么使用了...
  • Rust 标准库:std::env::args() 函数简介
  • linux系统装载nginx的笔记
  • IDEA一键备份MySQL数据库(mysqldump版)
  • 树状打印二叉树的类Java、Go、PHP
  • 二叉树的遍历及线索二叉树试题解析
  • 让手机平板成为AI开发利器:AidLux
  • liunx之nginx安装
  • 区块链与智能合约
  • 详细安装步骤:vue.js 三种方式安装(vue-cli)
  • Java之旅:从零到英雄的编程探索
  • 03Go 类型总结
  • Cookie 在前端中的实践
  • ESLint简单操作
  • gitlab-ci配置详解(一)
  • HashMap ConcurrentHashMap
  • HTTP中的ETag在移动客户端的应用
  • JavaScript DOM 10 - 滚动
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • JDK 6和JDK 7中的substring()方法
  • LeetCode29.两数相除 JavaScript
  • MD5加密原理解析及OC版原理实现
  • MySQL主从复制读写分离及奇怪的问题
  • 得到一个数组中任意X个元素的所有组合 即C(n,m)
  • 计算机常识 - 收藏集 - 掘金
  • 你真的知道 == 和 equals 的区别吗?
  • 前端技术周刊 2019-01-14:客户端存储
  • 深度学习在携程攻略社区的应用
  • 微信开源mars源码分析1—上层samples分析
  • 函数计算新功能-----支持C#函数
  • ​业务双活的数据切换思路设计(下)
  • #单片机(TB6600驱动42步进电机)
  • #我与Java虚拟机的故事#连载06:收获颇多的经典之作
  • #我与Java虚拟机的故事#连载12:一本书带我深入Java领域
  • $NOIp2018$劝退记
  • (4)logging(日志模块)
  • (Redis使用系列) SpringBoot 中对应2.0.x版本的Redis配置 一
  • (八)Flask之app.route装饰器函数的参数
  • (附程序)AD采集中的10种经典软件滤波程序优缺点分析
  • (强烈推荐)移动端音视频从零到上手(上)
  • (数位dp) 算法竞赛入门到进阶 书本题集
  • (原創) 物件導向與老子思想 (OO)
  • (转)mysql使用Navicat 导出和导入数据库
  • (转)关于多人操作数据的处理策略
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .MyFile@waifu.club.wis.mkp勒索病毒数据怎么处理|数据解密恢复
  • .net CHARTING图表控件下载地址
  • .net core webapi 大文件上传到wwwroot文件夹
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net MVC中使用angularJs刷新页面数据列表
  • .Net Winform开发笔记(一)