2017-02-27 40 views
1

我有下面的代碼化妝獲取參數不是強制性

@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

的問題是:如何才能讓我獲得的參數值不是強制性的?

回答

0

我不積極,這仍是如此,我會是第一個承認,我是新來的這個特定的框架,但based on the answers to this bug from 2013,它不會出現,該框架允許這種的行爲。

推薦的解決方法是創建兩個Resource s,一個帶參數,另一個不帶。這是我用過的解決方法;通常使用一個方法和一個可選參數將它與一個簡單的基類進行配對。

從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>')