Skip to content

请求与响应 - 请求方法


简介

Flask 框架支持常见的 HTTP 请求方法,最常用的请求方法为:

请求 说明
GET 获取服务器资源
POST 新增服务器资源
PUT 更新服务器资源(客户端提供改变后的完整资源)
DELETE 删除服务器资源

请求方法的使用场景

  • GET:一般是从 URI 中从 服务器中获取资源(比如获取用例列表,比如,获取用户信息等等),但一般 GET 是存在不安全性的,如果有敏感信息,会使用 POST。
  • POST: 主要用于将【数据发送到服务器】创建或更新资源。注意,POST 对数据长度是没有限制的,GET 会有限制,这是因为某些浏览器对请求的 URL 长度有限制。
  • PUT:也是用于将 【数据发送到服务器】创建或更新资源。
  • DELETE:用来删除指定的资源。

Flask 设置请求方法

Flask 支持的请求方法通过在路由定义时使用 methods 参数进行指定。可以指定多个请求方法,以列表的形式传递给 methods 参数。

默认情况下,Flask 路由定义的视图函数只支持 GET 请求。如果需要支持其他请求方法,需要显式地指定 methods 参数。

下面分别演示这四种请求的用法。


GET 请求

from flask import Flask

# 创建 Flask 应用程序实例
app = Flask(__name__)


# get 请求
@app.route("/get")
def get():
    return f"Method is GET."

@app.route("/get_method", methods=["GET"])
def get_method():
    return f"GET method success."

if __name__ == '__main__':
    app.run()


POST 请求

from flask import Flask

# 创建 Flask 应用程序实例
app = Flask(__name__)


# post 请求
@app.route("/post", methods=["POST"])
def post():
    return f"Method is POST."


if __name__ == '__main__':
    app.run()


PUT 请求

from flask import Flask

# 创建 Flask 应用程序实例
app = Flask(__name__)


# put 请求
@app.route("/put", methods=["PUT"])
def put():
    return f"Method is PUT."


if __name__ == '__main__':
    app.run()


DELETE 请求

from flask import Flask

# 创建 Flask 应用程序实例
app = Flask(__name__)


# delete 请求
@app.route("/delete", methods=["DELETE"])
def delete():
    return f"Method is DELETE."


if __name__ == '__main__':
    app.run()


总结

  • 请求方法的使用场景
  • Flask 设置请求方法