Python3 --- Tornado之Response

本文详细介绍了Tornado框架中Response的使用,包括返回Json数据、设置头信息、响应状态码、重定向、错误处理及接口调用顺序。特别强调了set_header、set_default_headers、send_error和write_error等关键方法的作用。
摘要由CSDN通过智能技术生成

一、返回Json数据

import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options # 新导入的options模块

class IndexHandler(tornado.web.RequestHandler):
    """主路由处理类"""
    def get(self):
        json_res = {
            "name": "test",
            "status": 1,
        }

        self.write(json_res)

if __name__ == "__main__":

    app = tornado.web.Application([
        (r"/", IndexHandler),
    ],debug=True)

    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(8000)
    tornado.ioloop.IOLoop.current().start()

说明:

write方法除了帮我们将字典转换为json字符串之外,还帮我们将Content-Type设置为application/json; charset=UTF-8。

 

二、设置头信息

2.1、self.set_header

利用set_header(name, value)方法,可以手动设置一个名为name、值为value的响应头header字段。

import tornado.web
import tornado.ioloop
import tornado.httpserver
import tornado.options # 新导入的options模块

class IndexHandler(tornado.web.RequestHandler):
    """主路由处理类"""
    def get(self):
        json_res = {
            "name": "test",
            "status": 1,
        }
        
        # 设置头信息
        self.set_header("Content-Type", "application/json; charset=UTF-8")
        # self.write方法除了帮我们将字典转换为json字符串之外,还帮我们将Content-Type设置为application/json; charset=UTF-8。
        self.write(json_res)

if __name__ == "__main__":

    app = tornado.web.Application([
        (r"/", IndexHandler),
    ],debug=True)

    http_server = tornado.httpserver.HTTPServer(app)
    http_server.listen(8000)
    tornado.ioloop.IOLoop.current().start()

 

2.2、set_default_headers()

该方法会在进入HTTP处理方法前先被调用,可以重写此方法来预先设置默认的headers。注意:在HTTP处理方

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值