0

我正在使用以下代码:

@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)

你可以帮帮我吗?

4

1 回答 1

2

您要么需要将签名更改get为 make abcoptional。

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
于 2016-05-05T17:23:14.410 回答