DynamicRootAPI¶
- class deepfos.api.base.DynamicRootAPI(version: Optional[Union[float, str]] = None, header: Optional[dict] = None, sync: bool = <object object>, module_id: Optional[str] = None, lazy: bool = False)¶
动态API基类。 所有 非固定url 的API应该继承这个类
实际案例
class ExampleAPI(DynamicRootAPI): module_type = 'EXAMPLE' @get('/test') def test(self): return {}
对于上述api,存在2种初始化方法。
api = ExampleAPI(version='1.0', sync=True) api = await ExampleAPI(version='1.0', sync=False)
当sync=False时,必须使用await初始化。 以这种方式初始化的api,必须使用await调用,即:
await api.test()
以sync=True初始化的api,可以同步调用,即:
api.test()
方法
收集当前 API 类暴露的所有相对 endpoint
prefix()resolve_cls(sync, sync_base, async_base[, extra])根据同步/异步模式生成实际可实例化的 API 类
resolve_version_cls(sync, sync_base, async_base)为多版本动态 API 解析指定版本对应的运行期类
属性