core.register
--- 路由注册器¶
-
class
core.register.
ArgType
¶ 基类:
object
包含uri可以用到的类型参数
-
Any
= '(.+)'¶
-
Letter
= '([A-Za-z]+)'¶
-
Number
= '(\\d+)'¶
-
Param
= '([^\\\\/]+)'¶
-
Word
= '([\\w-]+)'¶
-
-
class
core.register.
RegisterMeta
(what: str, bases=None, _dict=None)¶ 基类:
type
路由注册器元类
-
route_pool
= {}¶
-
-
core.register.
api_method
(method)¶ api装饰的方法将函数定义为API类型请求方法,可以获取到任意param参数值 同时方法返回的对象值会自动写入到返回请求当中
举例说明:
@cross_domain() @api_method async def get(self): return {}
参数: method -- 异步http方法函数 返回: 装饰包裹后的函数
-
core.register.
create_router
(prefix: str, use_uri: bool = False) → Callable[Union[List[str], str], List]¶ 创键router函数,该函数用于包裹__urls,添加公用前缀
举例:
router = create_router("/api") __urls = router(["/test"]) 或者 __urls = [router("/test")]
参数: - prefix -- 公用url前缀
- use_uri -- 是否使用URI函数解析路径
返回: router函数
-
core.register.
cross_domain
(origin: str = '*', headers: str = '*', methods: str = 'GET, POST, PUT, DELETE, OPTIONS', max_age=600)¶ access为当前请求方法添加跨域属性
举例说明:
@cross_domain() async def get(self): return {}
参数: - origin -- 允许的作用域
- headers -- 允许的请求头
- methods -- 允许的请求方法
- max_age -- 最大非重复预请求时间
返回: 装饰包裹后的函数
-
core.register.
uri
(path: str, *args) → str¶ 快捷的定义url注册,可以根据类型参数生成对应的正则匹配
使用方法:
__urls = [ uri("/home/{Letter}"), "/home", "/index" ] __urls = [ uri("/home/{}", ArgType.Letter), "/home", "/index" ]
参数: - path -- 模板url路径
- args -- 替换类型参数,ArgType的静态属性
返回: 渲染后的URL字符串