让你的tornado更加简单的产生RESTful风格路由

2020-07-02  本文已影响0人  SystemLight

构建项目

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收藏一下

上一篇下一篇

猜你喜欢

热点阅读