0

我有json

{
    "message":  {
        "foo": "foo",
        "bar": "bar"
    }
}

和解析器:

parser = reqparse.RequestParser(bundle_errors=True)
parser.add_argument('foo', type=str, required=True)
parser.add_argument('bar', type=str, required=True)
args = parser.parse_args()

错误是: {'foo': 'Missing required parameter in the JSON body or post body or the query string', 'bar': 'Missing required parameter in the JSON body or post body or the query string'}

4

1 回答 1

2

由于您的'foo''bar'键在里面'message',因此 JSON 解析必须从 ' message' 开始。IE。您必须先了解解析器,'message'然后才能从中解析'foo'

为此,您必须设置一个根解析器来解析您的'message'. 您可以通过以下方式执行此操作:

root_parser = reqparse.RequestParser()
root_parser.add_argument('message', type=dict)
root_args = root_parser.parse_args()

message_parser = reqparse.RequestParser()
message_parser.add_argument('foo', type=dict, location=('message',))
message_parser = message_parser.parse_args(req=root_args)

有关更多信息,请查看来自 github 的问题

于 2018-03-10T07:49:05.133 回答