《Introduction to Tornado》笔记03-HTTP状态码+重写默认的错误响应+通用的自定义错误处理

HTTP状态码

 自定义错误响应 —— 用post方式去请求类中的get方法对应的url——不建议这么写

代码如下:

import tornado.httpserver
import tornado.ioloop
import tornado.web
import tornado.options

from tornado.options import define, options

define("port", default=8005, help="run on the gevent port", type=int)
define("host", default="127.0.0.1", help="run on the gevent port", type=str)


class MyIndexHandler(tornado.web.RequestHandler):
    def get(self):
        print("GET方法。。。")
        arg = self.get_argument("arg", "HELLO")
        self.write(arg)

    def write_error(self, status_code, **kwargs):
        print("write_error...")
        # super().write_error(status_code, **kwargs)
        print(status_code)
        self.write("status_code")


HANDLERS = [
    (r"/index", MyIndexHandler)
]

if __name__ == '__main__':
    print(options.host, options.port)
    # tornado.options.parse_command_line()
    app = tornado.web.Application(
        handlers=HANDLERS,
        debug=True,
    )

    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(port=options.port, address=options.host)

    tornado.ioloop.IOLoop.instance().start()

—— 在postman工具中用post方法去请求这个url的结果如下:

 通用的自定义错误处理方式 —— 讲错误处理的方法写在一个“基类”里面

参考下面的博客:

https://strawhatfy.github.io/2016/01/30/tornado.web_handle_exception/

https://www.jianshu.com/p/e5b1d1c94a40

 

posted on 2019-10-30 17:25  江湖乄夜雨  阅读(331)  评论(0编辑  收藏  举报