我使用以下代码:
@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)
你能帮帮我吗?
答案 0 :(得分:2)
您需要更改get
的签名才能使a
,b
和c
成为可选。
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