make Get参数不是必需的

时间:2017-02-27 14:10:44

标签: python flask-restplus

我有以下代码

@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 here enter image description here

问题是:如何使Get参数值不是强制性的?

1 个答案:

答案 0 :(得分:0)

肯定仍然如此,我是第一个承认我是这个特定框架的新人,但是{{3 ,框架似乎不允许这种行为。

建议的解决方法是创建两个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>')