首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使Get参数不是必需的

使Get参数不是必需的
EN

Stack Overflow用户
提问于 2017-02-27 22:10:44
回答 1查看 78关注 0票数 1

我有以下代码

代码语言:javascript
复制
@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."""

这给了我以下结果:

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

EN

回答 1

Stack Overflow用户

发布于 2017-12-22 01:02:10

我不能肯定这种情况是否仍然存在,我会第一个承认我对这个特定的框架是新的,但是based on the answers to this bug from 2013,这个框架似乎不允许这种行为。

建议的解决方法是创建两个Resource,一个带参数,另一个不带参数。这就是我使用的变通方法;通常将其与一个简单的基类搭配使用,该基类带有一个方法和一个可选参数,两者都会调用。

GitHub问题的一个示例:

代码语言:javascript
复制
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>')
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42487842

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档