zoukankan      html  css  js  c++  java
  • 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以字符串的形式返回回去

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

  • 相关阅读:
    SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?
    风之语.人在职场也需要'备胎'
    两万字,任正非采访全记录
    SAP 如何得到交货单上的序列号清单?
    【2019年版】如何向SAP公司提交Message?
    工作上996,生活上669,并不是什么难事儿!
    风之语.甲骨文裁员之我见
    天河2号-保持使用yhrun/srun时连接不中断 (screen 命令教程 )
    PXE 和 计算机网络启动
    Gmail 设置,时区
  • 原文地址:https://www.cnblogs.com/chnmig/p/10119224.html
Copyright © 2011-2022 走看看