我一直在爲我的服務器使用Flask-Classy,並且它工作得很好。但是,我遇到了一個我從未見過的用例,但這是一個非常常見的用例,所以如果不可能,我會感到震驚。如何訪問Flask-Classy中的嵌套資源?
我有我要窩兩個API,和我的意思是我有:
class UsersView(FlaskView):
decorators = [jwt_required()]
route_prefix = '/api/v1/'
def index(self):
...
其位於http://example.com/api/v1/users,我可以通過http://example.com/api/v1/users/1
訪問用戶1現在,怎麼會我寫的FlaskView可以讓我做這樣的事情嗎?
當我嘗試在route_prefix嵌入資源ID,我得到一個關鍵字參數錯誤:
class DevicesView(FlaskView):
decorators = [jwt_required()]
route_prefix = '/api/v1/users/<user_id>/'
def index(self):
...
類型錯誤:指數()得到了一個意想不到的關鍵字參數 'user_ID的'
最後一個一點是我可以,當然,使用kwargs:
route_prefix = '/api/v1/users/<user_id>/'
def test(self, **kwargs):
print kwargs['user_id']
http://example.com/api/v1/users/103/devices會吐出「103 ',但是,使用kwargs感覺有點狡猾。有沒有更好的辦法?
感謝您的回覆。你有沒有嘗試過,並得到它的工作?我以前嘗試過,它會拋出一個「ValueError:變量名'user_id'使用兩次。」 – SJoshi 2015-02-27 02:48:18