如何在Flask中选择要传递到多重路径的参数?

时间:2016-05-05 16:15:21

标签: python flask flask-restplus

我使用以下代码:

@api.route('/akilo/<a>/<b>/')
@api.route('/akilo/<c>/')
class Akilo(Resource):
    def get(self, a, b, c):
        if a and b:
            return a + b
        else:
            return c

从同一资源获取不同的响应,具体取决于我使用的参数

当我提出请求时:

/select/akilo/bom/dia/

我收到以下错误:

TypeError: get() takes exactly 4 arguments (3 given)

你能帮帮我吗?

1 个答案:

答案 0 :(得分:2)

您需要更改get的签名才能使abc成为可选。

def get(a=None, b=None, c=None):

或者您需要为路线中未使用的路线提供默认值。

@api.route('/akilo/<a>/<b>/', defaults={'c': None})
@api.route('/akilo/<c>/', defaults={'a': None, 'b': None}) t