繁体   English   中英

龙卷风终点

[英]Tornado end points

我正在尝试使用Tornado并且不确定如何支持两个不同的REST API端点。 说我想支持“/”和“/ Hello”。 根据我提出的初始文档,我是否需要为每个端点创建一个处理程序类?

import tornado.ioloop
import tornado.web

class MainHandler(tornado.web.RequestHandler):
  def get(self):
    self.write("Hello, Tornado")

class SecondHandler(tornado.web.RequestHandler):
  def get(self):
    self.write("<em>Hello, Second Handler!</em>")

def make_app():
  return tornado.web.Application([
    (r"/", MainHandler),
    (r"/Hello", SecondHandler)
  ])

if __name__ == "__main__":
  app = make_app()
  app.listen(8888)
  tornado.ioloop.IOLoop.current().start()

是的,这是实现多个端点的正确方法。

没有必要为每个端点都有一个单独的处理程序。 实际上,单个RequestHandler对象可以为任意数量的端点提供服务。

因此,无论您是想使用单个RequestHandler还是以上面正确完成的方式提供多个请求,这都是您的设计决策。

在上面的情况下,如果您选择对两个端点使用MainHandler,那么它将看起来像这样。

 def make_app():   
     return tornado.web.Application([
     (r"/", MainHandler),
     (r"/Hello", MainHandler)   ])

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM