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

Posted 上海-悠悠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flask 学习-79.Flask-RESTX 参数校验reqparse 解析器继承与更新相关的知识,希望对你有一定的参考价值。

前言

通常我们会为每个资源创建不同的解析器,如果多个解析器直接有共同的参数,可以写一个包含所有共享参数的父解析器。
然后使用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’参数校验了

以上是关于Flask 学习-79.Flask-RESTX 参数校验reqparse 解析器继承与更新的主要内容,如果未能解决你的问题,请参考以下文章

[flask][python]flask封装成类方便集成其他模块以及传参问题解决方法

使用 pre-request 优化 Flask 入参校验

9_flask中的模板渲染和模板传参及其技巧

flask四:URL两种传参方式(路径传参和get传参)

Flask的url_for怎么传参?

Falsk返回参数带参视图函数