【问题标题】:Tornado end points龙卷风终点
【发布时间】:2017-06-08 14:58:29
【问题描述】:

我正在试验 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()

【问题讨论】:

    标签: python rest tornado endpoints


    【解决方案1】:

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

    【讨论】:

    • 这正是我要找的.
    【解决方案2】:

    不必为每个端点设置单独的处理程序。实际上,单个 RequestHandler 对象可以服务于任意数量的端点。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多