我有一个定义为这样的类:
class ClientAPi
def __init__(self, host):
self.host = host
def foo(self, foo):
return self._foo(foo)
@property
def _foo(self):
return bind_api(
api=self,
path='/foo',
allowed_param=['foo'])
其中bind_api为https://github.com/tweepy/tweepy/blob/master/tweepy/binder.py 实际上..这是tweepy库中的模式 https://github.com/tweepy/tweepy/blob/master/tweepy/api.py
这是如何运作的?我无法理解流程.. 我的意思是变量foo如何从foo()传递到_foo()..?
此外,现在..我的api的一些路径已经改变..
而不是host:port/foo
现在它是host:port/v1/foo
有没有办法可以用一些装饰器来注释这些方法。这样装饰器的方法有path='/foo'
到path=/v1/foo
所以例如
class ClientAPi
def __init__(self, host):
self.host = host
def foo(self, foo):
return self._foo(foo)
@new_api('v1')
@property
def _foo(self):
return bind_api(
api=self,
path='/foo',
allowed_param=['foo'])
将路径从'/foo'
更改为'/v1/foo'