python链式调用REST API把参数放到URL中

需求格式:GET /users/:user/repos

程序:

 1 class Chain(object):
 2     def __init__(self,path=''):
 3         self._path=path
 4 
 5     def __getattr__(self, path):
 6         return Chain( '%s/%s' %(self._path,path))
 7 
 8     def __str__(self):
 9         return self._path
10 
11     def __call__(self, user):
12         return Chain('%s/%s' %(self._path,user))
13 
14     __repr__=__str__

实例:

1 print('GET',Chain().users('michael').repos)
2 print('GET',Chain().status.user.timeline.list)

结果:

1 GET /users/michael/repos
2 GET /status/user/timeline/list
posted @ 2019-12-17 11:04  骑白马的猴子  阅读(615)  评论(0编辑  收藏  举报