让你的tornado更加简单的产生RESTful风格路由
2020-07-02 本文已影响0人
SystemLight
构建项目
- 首先通过madtornado构建一个tornado项目,详情参看 madtornado
pip install madtornado
sea --init_project [project path]
-2 进入到madtornado工作目录下,即ancient/view,可以新建一个模块,也可以使用已经有的示例模块
-3 写入如下内容
@register.route(url=rf.e("zoos").url)
class ZoosHandler(Base):
"""
RESTful风格动物园模型距离,动物园实体
# 以对象的方式描写RESTful风格路由,相当于
# /zoos # 所有的动物园
# /zoos/{动物园ID} # 指定的动物园
"""
# @override
async def get(self, zoos):
if zoos:
return self.write("动物园 {}".format(zoos))
self.write("所有动物园")
@register.route(url=rf.e("zoos").e("animals").url)
class AnimalsHandler(Base):
"""
RESTful风格动物园模型距离,动物实体
# 以对象的方式描写RESTful风格路由,相当于
# /zoos/{动物园ID}/animals # 动物园所有动物
# /zoos/{动物园ID}/animals/{动物ID} # 动物园指定ID的动物
"""
# @override
async def get(self, zoos, animals):
if animals:
return self.write("动物园 {} 的动物 {}".format(zoos, animals))
self.write("动物园 {} 的所有动物".format(zoos))
说明
通过以上操作,构建出了zoos和animals实体类,这两个类访问地址如注释说明的那样
其中使用的模块是 register.rf 该模块是madtornado封装的路由描述类,使用e方法可以在路由中链接产生实体对象,摆脱传统的通过字符串进行注册的烦恼,此外madtornado还提供了注册路由的注册器,对于原本的tornado进行了一定的拓展
对madtornado感兴趣的话可以 点击这里 star收藏一下