首页 > 解决方案 > 在 Flask-RESTful + webargs 中未收到 GET 参数

问题描述

我正在使用Resource来自flask restful 和use_kwargsdecorator 的类来获取方法。这是代码:

@api.resource('/route/')
class API(Resource):
    @use_kwargs({'param': fields.Str(missing='default_val')}
    def get(self, param):
        return {'param': param}

但我不能通过 URL 传递参数。它总是返回缺失值。这些 URL 不起作用:

 /route?param=smth
 /route/?param=smth

use_args. 但是我可以在flask.request.args.

标签: flaskflask-restfulwebargs

解决方案


从 webargs 6 开始,您需要明确指定位置。

@api.resource('/route/')
class API(Resource):
    @use_kwargs({'param': fields.Str(missing='default_val')}, location="query")
    def get(self, param):
        return {'param': param}

请参阅https://stackoverflow.com/a/62503287/4653485


推荐阅读