• Tornado学习笔记(三) 请求方式/状态码


    本章我们来学习 Tornado 支持的请求方式

    请求方式

    Tornado支持任何合法的HTTP请求(GETPOSTPUTDELETEHEADOPTIONS)。你可以非常容易地定义上述任一种方法的行为,只需要在 RequestHandler 类中使用同名的方法。(也就是在视图中定义同名的方法)

    关于请求方式对应的操作和返回码可以参考 http://www.runoob.com/w3cnote/restful-architecture.html 不过具体还是要与业务进行匹配。

    状态码

    使用RequestHandler类的set_status()方法显式地设置HTTP状态码。然而,你需要记住在某些情况下,Tornado会自动地设置HTTP状态码。

    比如如果访问一个无法匹配的路由,则会返回404报错,而且状态码是404

    但是我们在代码中没有指定返回的状态码,常用的有:

      404 Not Found

      Tornado会在HTTP请求的路径无法匹配任何RequestHandler类相对应的模式时返回404(Not Found)响应码。

      400 Bad Request

      如果你调用了一个没有默认值的get_argument函数,并且没有发现给定名称的参数,Tornado将自动返回一个400(Bad Request)响应码。

      405 Method Not Allowed

      如果传入的请求使用了RequestHandler中没有定义的HTTP方法(比如,一个POST请求,但是处理函数中只有定义了get方法),Tornado将返回一个405(Methos Not Allowed)响应码。

      500 Internal Server Error

      当程序遇到任何不能让其退出的错误时,Tornado将返回500(Internal Server Error)响应码。你代码中任何没有捕获的异常也会导致500响应码。

      200 OK

      如果响应成功,并且没有其他返回码被设置,Tornado将默认返回一个200(OK)响应码。

     我们也可以自定义错误返回,只需在class中定义一个名为 write_error 的方法

    比如

    def write_error(self, status_code, **kwargs):
            self.write('%s' % status_code)

    该段代码会将 错误code以字符串的形式返回回去

    需要注意的是该方法是写在类中,也就是说该方法只能作用于一个视图。

  • 相关阅读:
    chrome安装vue-devtools
    企业网络设计
    nginx的安装
    Typora 的使用
    如何学习dubbo?
    关于原码反码和补码以及byte&0xff
    HttpClient以及连接池的使用
    计算机网络读书笔记:tcp面试常见问题都在里面了
    接口类是否继承自Object?
    数据挖掘会议记录
  • 原文地址:https://www.cnblogs.com/chnmig/p/10119224.html
Copyright © 2020-2023  润新知