首页 > 其他分享 >Flask 学习-79.Flask-RESTX 参数校验reqparse 解析器继承与更新

Flask 学习-79.Flask-RESTX 参数校验reqparse 解析器继承与更新

时间:2022-09-27 15:22:52浏览次数:62  
标签:解析器 RESTX Flask parser argument 校验 参数 copy

前言

通常我们会为每个资源创建不同的解析器,如果多个解析器直接有共同的参数,可以写一个包含所有共享参数的父解析器。
然后使用copy() 复制一个父类解析器

  • 同一个参数覆盖使用 replace_argument()
  • 完全删除参数校验remove_argument()
  • 继续添加参数add_argument()

解析器继承

基于一个父类解析器

from flask_restx import reqparse

parser = reqparse.RequestParser()
parser.add_argument('foo', type=int)
parser_copy.add_argument('bar', type=int)

使用copy()方法复制一份

parser_copy = parser.copy()
parser_copy.add_argument('car', type=str)

于是parser_copy 会校验3个参数:foo,bar, car

替换

replace_argument()替换原有的参数校验

parser_copy.replace_argument('foo', required=True, location='json')

替换后'foo'参数就是一个必填项了,并且设置了校验位置location='json'

删除

remove_argument() 删除多余的参数

parser_copy.remove_argument('foo')

parser_copy 就不会对'foo'参数校验了

标签:解析器,RESTX,Flask,parser,argument,校验,参数,copy
From: https://www.cnblogs.com/yoyoketang/p/16734672.html

相关文章

  • Flask学习笔记(五)-Flask通过Ajax传输JSON数据
    一.创建项目结构项目文件夹flask-ajax-demo,结构如下: 其中app.py是Python程序,user.html是静态页面。二.发起Ajax请求编写user.html,代码如下:<!DOCTYPEhtml><html......
  • Flask学习笔记(四)-Response对象+表单实例
    一、响应对象responseflask提供了Response最为视图最终返回的数据,但在代码编写过程中,我们通常很少直接使用Response对象,下面是几个常见的视图返回数据的方式fromflask......
  • Flask学习笔记(三)-jinja2 模板入门
    一、表达式jinja2是一个被广泛使用的模板引擎,其设计思想源自于django模板引擎,jinja2扩展了语法,增加了强大的功能,被flask选为内置的模板语言示例的目录结构如下./├─......
  • 【Python】【Flask】【字符串索引】计算人民币与美元的相互计算
    目录简介PythonCode导包设置首页计算的接口问题0:设置请求方式问题1:关于接收数据可能存在的问题问题2:返回结果启动完整代码HTMLCode问题分析分析:获取下拉列表框的选中值分......
  • Flask or Django?
    首先对于刚接触Python后端的新手先学哪一个?哪一个都可以!不要停留在原地,一旦决定了就一直坚持走下去!Flask容易入门,基本上在搭好开发环境的前提下花几个小时学习就可以算......
  • Flask 学习-78.Flask-SQLAlchemy 一对多关系
    前言一个人有多个收件地址,这就是一对多关系一对多(one-to-many)关系关系使用relationship()函数表示。然而外键必须用类sqlalchemy.schema.ForeignKey来单独声明:c......
  • 使用pychrm编写第一个Flask Web程序
    使用pychrm编写第一个FlaskWeb程序fromflaskimportFlaskapp=Flask(__name__)#实例化类[email protected]('/')#装饰器操作,实现URL地址defhello():......
  • Flask 学习-77.Flask-SQLAlchemy 一对一关系增删改查
    前言SQLAlchemy连接到关系型数据库,关系型数据最擅长的东西就是关系。一对一模型设计有个Student记录学生基本信息,Contact表记录学生联系方式,Student和Contact是一对一......
  • Flask 学习-74.Flask-RESTX 查询参数args 校验
    前言通过api.model()设置的模型,只能校验post请求的json格式,无法设置location参数校验get请求的查询参数遇到的问题当我访问一个分页查询地址/teacher?page=1&size=3需......
  • flask MongoDB 很好例子
    逻辑图代码#fromcollectionsimportnamedtuplefromflaskimportFlask,make_response,jsonify,requestfromflask_mongoengineimportMongoEngine#fromapi_co......