gpt4 book ai didi

python - flask - 比@api.expect 更严格的输入数据?

转载 作者:太空狗 更新时间:2023-10-30 01:20:12 25 4
gpt4 key购买 nike

在我的 flask-restplus API 中,我不仅要检查输入数据,如下例所示

resource_fields = api.model('Resource', {
'name': fields.String(default = 'string: name', required = True),
'state': fields.String(default = 'string: state'),
})

@api.route('/my-resource/<id>')
class MyResource(Resource):
@api.expect(resource_fields, validate=True)
def post(self):
...

必须有“名称”字段并且可能有“状态”字段,但还要检查是否没有其他字段(如果发生这种情况则引发错误)。还有其他装饰器吗?我可以通过自定义函数检查输入数据的正确性吗?

最佳答案

不要为您的字段使用字典,而是尝试使用 RequestParser (flask-restplus 接受记录为 here 的两者。这样,您可以调用 parser.parse_args(strict=True) 这将抛出 400 Bad Request 异常(如果有)您的输入数据中存在未知字段。

my_resource_parser = api.parser()
my_resource_parser.add_argument('name', type=str, default='string: name', required=True)
my_resource_parser.add_argument('state', type=str, default='string: state')

@api.route('/my-resource/<id>')
class MyResource(Resource):
def post(self):
args = my_resource_parser.parse_args(strict=True)
...

有关如何将 request_parser 与您的资源一起使用的更多指南,请查看 ToDo example app在 flask-restplus 仓库中。

关于python - flask - 比@api.expect 更严格的输入数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41227736/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com