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'参数校验了

posted @ 2022-09-27 15:13  上海-悠悠  阅读(231)  评论(0编辑  收藏  举报