使Get参数不是必需的

2024-04-20 04:43:46 发布

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

我有下面的代码

@ns.route('/blah/<query>', methods=['GET'])
@api.doc(params={'query': 'Search ID'})
class myClass(Resource):
    @api.doc('blah', responses={ 200: 'OK' })
    def get(self, query):
        """Returns list of blah."""

结果如下: enter image description hereenter image description here

问题是:如何使Get参数值不是必需的?你知道吗


Tags: 代码apiidsearchgetdocmyclassparams
1条回答
网友
1楼 · 发布于 2024-04-20 04:43:46

我并不肯定这仍然是事实,我将第一个承认我对这个特定的框架是新的,但是based on the answers to this bug from 2013,这个框架似乎不允许这种行为。你知道吗

建议的解决方法是创建两个Resource,一个带参数,一个不带参数。这就是我使用的解决方法;通常是将它与一个简单的基类和一个方法以及一个可选参数配对,这两个方法和参数都调用。你知道吗

GitHub问题的一个例子:

class Users(Resource):
    def get(self):
        return users
    def post(self):
        #...

class User(Resource):
    def get(self, id=None):
        return find_user_by_id(id)
    def post(self):
        #...

api.add_resource(Users, '/users')
api.add_resource(User, '/users/<id>')

相关问题 更多 >