flaskapispec未使用GET查询中的值填充kwargs(实现文档中的示例代码)

2024-05-23 16:48:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用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"})

为什么kwargsdict是空的?我看不出上述内容与apispec文档中的示例有什么不同


Tags: namefromimportapiappflaskfields定义