我正在尝试使用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()
答案 0 :(得分:0)
是的,这是实现多个端点的正确方法。
答案 1 :(得分:0)
没有必要为每个端点都有一个单独的处理程序。实际上,单个RequestHandler对象可以为任意数量的端点提供服务。
因此,无论您是想使用单个RequestHandler还是上面正确完成的方式提供多个请求,这都是您的设计决定。
在上述情况下,如果您选择对两个端点使用MainHandler,那么它将看起来像这样。
def make_app():
return tornado.web.Application([
(r"/", MainHandler),
(r"/Hello", MainHandler) ])