我使用flask-apispec
withwebargs
来定义简单 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 文档中的示例有何不同。