3.接口的调用顺序与模板

上一节介绍了tornado请求与响应,这一节介绍一下接口调用顺序和模板

首先都有哪些接口呢?作用是什么呢?并且都有的时候,执行顺序是怎么样的呢?

接口:

1.initialize,表示初始化,会在执行http方法之前调用

2.prepare,预处理,会在执行http方法之前调用,任何一种http请求都会执行预处理方法

3.http方法:

  get,get请求

  post,post请求

  head,类似get请求,只不过响应中没有具体内容,只获取报头

  delete,请求服务器删除指定的资源

  put,从客户端向服务端传送指定内容

  patch,修改局部内容

  options,返回url支持的所有http方法

4.set_default_headers,设置请求头

5.write_error,处理self.send_error

6.on_finish,在请求处理结束之后调用,用于对资源的清理和释放,或者日志处理。并且尽量不要在该方法中响应输出

执行顺序

在正常执行未抛出错误时,执行顺序从上到下为:

set_default_headers

initialize

prepare

http方法

on_finish

在抛出错误时,执行顺序从上到下为:

set_default_deaders

initialize

prepare

http方法

set_default_headers

write_error

on_finish

测试

import tornado.web


class SatoriHandler(tornado.web.RequestHandler):

    def get(self, *args, **kwargs):
        print("get")

    def initialize(self):
        print("initialize")

    def prepare(self):
        print("prepare")

    def set_default_headers(self):
        print("set_default_headers")

    def write_error(self, status_code, **kwargs):
        print("write_error")

    def on_finish(self):
        print("on_finish")

在get函数中引发一个error

import tornado.web


class SatoriHandler(tornado.web.RequestHandler):

    def get(self, *args, **kwargs):
        print("get")
        self.send_error()

    def initialize(self):
        print("initialize")

    def prepare(self):
        print("prepare")

    def set_default_headers(self):
        print("set_default_headers")

    def write_error(self, status_code, **kwargs):
        print("write_error")

    def on_finish(self):
        print("on_finish")

--------------------------------------------------------------------------------------------------------

猜你喜欢

转载自www.cnblogs.com/traditional/p/9571752.html
3.
今日推荐