• Tornado—接口调用时方法执行顺序


    import tornado.web       # web服务
    import tornado.ioloop    # I/O 时间循环
     
    class MainHandler(tornado.web.RequestHandler):
        def initialize(self,name):
        	self.name = name
            print 'initialize方法执行'
            
        def prepare(self):
            print 'prepare方法执行'
        
        def set_default_headers(self):
            print 'set_default_headers方法执行'
            self.set_header("Access-Control-Allow-Origin", "*")
            self.set_header("Access-Control-Allow-Headers", "x-requested-with")
            self.set_header("Access-Control-Allow-Methods", "POST, GET, OPTIONS")
            
        # 响应以get方式发起的请求
        def get(self, *args, **kwargs):
        	print 'get方法执行'
            self.write("hello world!")
            
        # 响应以post方式发起的请求
        def post(self, *args, **kwargs):
            print 'post方法执行'
            self.write(json.dumps({"status": "success", "data": task_list}))
            
        def on_finish(self):
            print 'on_finish方法执行'
        
        def write_error(self, status_code, **kwargs):
            print 'write_error方法执行'
            super().write_error(status_code, **kwargs)
     
    app = tornado.web.Application([
            (r"/index", MainHandler, dict(name="name")),
        ])
     
    if __name__ == "__main__":
        app.listen(8000)  # 监听端口
        # tornado.ioloop.IOLoop.current().start()
        tornado.ioloop.IOLoop.instance().start()  # 开始事件
    

    在正常情况下没跑出错误的顺序:

    • set_default_headers:设置头
    • initialize:初始化
    • prepare:预处理(类似于django的中间件作用)
    • HTTP方法(get、post....)
    • on_finish:响应结束后的处理

    跑出异常错误的情况下的顺序:

    • set_default_headers
    • initialize
    • prepare
    • http
    • set_default_headers:这里错误信息 是因为响应错误,需要修改头
    • write_error:重写错误信息
    • on_finish:响应结束后做内存释放,日志处理等操作

    https://blog.csdn.net/qq_20042935/article/details/100325953

    https://www.cnblogs.com/qianzhengkai/p/11348023.html

  • 相关阅读:
    sql_LIKE
    sql_TOP
    oracle_存储过程
    注释@
    request.getAttribute()和request.getParameter()区别
    遍历map
    ORACLE
    JSP
    生成导入模板_设置列宽及标题_解析xml
    解析Excel_Poi
  • 原文地址:https://www.cnblogs.com/liuhaidon/p/12021269.html
Copyright © 2020-2023  润新知