进行python web开发的时候,我们往往关注的是到后端 REST API 的url路由分发:一个uri是如何映射到某个controller的。比如openstack中常用的轻量级web框架pecan,就是基于对象的路由分发。
同样的,在进行openstack开发的时候,我们通常会需要针对运行在后端的WSGI Server上的REST API Server,写一个python版本的客户端lib,这个客户端调用服务端的API接口。它需要针对多层次的REST实体,能够灵活地生成URI,并暴露具体的操作方法。
由于REST API的特性,访问实体的URI往往又是分层级的,格式看起来都是这样的:
/v1/clusters/56/servers/21/disks/22 ...
对于上述这种URI,我们可以专门写一个类,通过链式调用,动态生成URI。
下面我们就具体展示一下用法:
class ChainedURI:
def