gpt4 book ai didi

当请求中发送不同的数据类型时,python-RequestParser 不会返回错误

转载 作者:行者123 更新时间:2023-11-30 22:48:50 25 4
gpt4 key购买 nike

我创建了 Flask 应用程序,我使用 RequestParser 来检查输入字段的数据类型,如下所示

parser = reqparse.RequestParser()
parser.add_argument('article_id',type=str,required=True, help='SUP-REQ-ARTICLEID')
parser.add_argument('description',type=str,required=True, help='SUP-REQ-DESCRIPTION')
parser.add_argument('userid',type=str,required=True, help='SUP-REQ-USERID')

我从 postman 输入的 json 如下所示

{
"article_id": 2,
"description":"some description",
"userid":1
}

因此,在 json 请求中,第一个和第三个字段是整数,在请求解析器中,我提到的数据类型为“str”

当我运行应用程序并从 postman 发送请求时 - 请求正在被处理并且在 RequestParser 验证中不会抛出任何错误

最佳答案

首先,Postman 根据您的数据创建常规 HTTP 帖子。 HTTP 帖子如下所示:

article_id=2&description=some%20description&userid=1

没有类型信息,这是普通的旧 URL 编码。 一切都是 URL 中的一个字符串,以 &= 作为分隔符。

RequestParser 所能做的就是为您转换类型,从字符串到其他内容。这也是为什么 type=str 是默认值的原因。解析器只会为您提供 article_iduserid 的字符串,仅此而已。

当参数无法转换为目标类型时,就会发生错误。为 description 设置 type=int ,它会给你一个错误。

关于当请求中发送不同的数据类型时,python-RequestParser 不会返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40035872/

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