gpt4 book ai didi

python - flask-apispec 不使用 GET 查询中的值填充 kwargs(文档中示例代码的实现)

转载 作者:行者123 更新时间:2023-12-05 06:00:38 26 4
gpt4 key购买 nike

我正在使用 flask-apispecwebargs 来定义简单 API 的类型。我在下面制作了一个最小示例,它重现了该问题,即 kwargs 对象为空。

服务器代码:

import flask
from flask_apispec import use_kwargs
from webargs import fields

app = flask.Flask(__name__)


@app.route('/pets', methods=["GET"])
@use_kwargs({'species': fields.Str()})
def list_pets(**kwargs):
assert False, kwargs # NO DATA HERE


if __name__ == "__main__":
app.run(host="0.0.0.0", port=5000)

简单的客户端脚本:

import requests
requests.get("http://localhost:5000/pets", params={"species": "cat"})

为什么 kwargs 字典是空的?我看不出上述内容与 flask-apispec 文档中的示例有何不同。

最佳答案

我遇到了同样的问题,并且在文档方面遇到了一些问题。

引用 webargs docs (这就是我对 flask-apispec 的理解)我找到了一些示例并能够实现它。

缺少 location 参数。在您的示例中,它将是:

@app.route('/pets', methods=["GET"])
@use_kwargs({'species': fields.Str()}, location="query")
def list_pets(**kwargs):
print(kwargs) # Now "species" should be here if sent through the query

我正在使用 flask-apispec v0.11.1,它在我的系统上安装了 webargs v8.1.0

关于python - flask-apispec 不使用 GET 查询中的值填充 kwargs(文档中示例代码的实现),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67574137/

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