gpt4 book ai didi

python - 在flask_restplus RequestParser 中添加多个json 字段

转载 作者:行者123 更新时间:2023-12-03 15:54:54 26 4
gpt4 key购买 nike

我要expect request.json 看起来像的请求:

{
"app_name": "app",
"model_name": "model"
}

我创建了以下解析器:
parser = reqparse.RequestParser()
parser.add_argument('app_name', location='json', required=True)
parser.add_argument('model_name', location='json', required=True)

并将解析器用作:
class ModelList(Resource):
@api.expect(parser)
def get(self):
"""Get all matching model records"""
....

这在服务中显示为:

enter image description here

但是当我尝试这个时,我的请求被翻译如下:

enter image description here

我希望请求看起来像:
curl -X GET "http://localhost:5000/model" -H  "accept: application/json" -H  "Content-Type: application/json" -d '{"app_name": "test","model_name": "affinity"}'

并不是:
curl -X GET "http://localhost:5000/model" -H  "accept: application/json" -H  "Content-Type: application/json" -d "affinity"

我究竟做错了什么?

最佳答案

TypeError: HEAD or GET Request cannot have a body.



请参阅此 SO 问题,了解为什么它不能(不应该)有一个: HTTP GET with request body

要修复,请删除 location='json'或指定 location='args'反而。

parser = reqparse.RequestParser()
parser.add_argument('app_name', required=True)
parser.add_argument('model_name', required=True)

parser = reqparse.RequestParser()
parser.add_argument('app_name', location='args', required=True)
parser.add_argument('model_name', location='args', required=True)

两者都会让 Swagger 知道在查询字符串中发送参数,并且解析器知道要查看那里。

关于python - 在flask_restplus RequestParser 中添加多个json 字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59045620/

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