Python Flask 请求GET、 POST 、PUT、 DELETE

Python Flask 请求GET、 POST 、PUT、 DELETE,第1张

1,示例一个简单的请求
from flask import Flask  # 导入Flask类

app = Flask(__name__)  # 实例化flask

@app.route('/HelloWorld')  # 使用路由,给 hello 函数定义一个路由,然后游览器通过http,访问路径,请求页面返回的页面数据
def hello():
    return 'Hello, World!'

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

 http://127.0.0.1:5000/HelloWorld

2,get 传参的方法一

请求指定页面的路径地址,返回页面的数据

from flask import Flask, request

app = Flask(__name__)

@app.route('/get')
def testGet():
    data = request.args.get('data')

    print('获取的data值:',data)
    return "获取的data值:" + data

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

 http://127.0.0.1:5000/get?data=test

3,get 传参的方法二
from flask import Flask, request

app = Flask(__name__)


@app.route("/get/")
def testGetPath(id):
    print(type(id))
    return f"返回的数据 {id}"


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

 http://127.0.0.1:5000/get/123

4,POST form表单提交内容

向指定资源提交数据进行处理请求(例如:from提交表单或者上传文件)。数据被包含在请求体中。POST 请求可能会导致新的资源的建立和/或已有资源的修改。

from flask import Flask, request

app = Flask(__name__)


# post form-data
@app.route("/post/form", methods=["POST"])
def testPostForm():
    username = request.form.get("username")
    password = request.form.get("password")
    print(username, password)
    data = {
        "username": username,
        "password": password
    }
    return data


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

 form-data 表单

 5,POST json
from flask import Flask, request, jsonify

app = Flask(__name__)

class Student():

    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age

    def __repr__(self):
        return f"Student[id={self.id},name={self.name},age={self.age}]"


@app.route("/post/json", methods=["POST"])
def testPostJson():
    id = request.json.get("id")
    name = request.json.get("name")
    age = request.json.get("age")
    data = Student(id, name, age)
    print(data)
    return '200'


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

 http://127.0.0.1:5000/post/json

 6,PUT 传参的方法一

从客户端向服务器传送的数据取代指定的文档的内容。

from flask import Flask, request

app = Flask(__name__)


@app.route("/api/put/", methods=["PUT"])
def testPut(id):
    print(type(id))
    return f"上传参数 {id}"

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

 http://127.0.0.1:5000/api/put/12

 

7,PUT 传参的方法二
from flask import Flask, request

app = Flask(__name__)


@app.route("/api/put", methods=["PUT"])
def testPut():
    data = request.args.get('data')
    print(type(data))
    return f"上传参数 {data}"


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

http://127.0.0.1:5000/api/put?data=test

 

 

8,PUT json
from flask import Flask, request, jsonify

app = Flask(__name__)

class Student():

    def __init__(self, id, name, age):
        self.id = id
        self.name = name
        self.age = age


    def __repr__(self):
        return f"Student[id={self.id},name={self.name},age={self.age}]"

@app.route("/api/put/json", methods=["PUT"])
def testPutJson():
    id = request.json.get("id")
    name = request.json.get("name")
    age = request.json.get("age")
    stu = Student(id, name, age)
    print(stu)
    return "200"

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

http://127.0.0.1:5000/api/put/json

 

9,DELETE

请求服务器删除指定的页面。

from flask import Flask, request, jsonify

app = Flask(__name__)


@app.route('/api/delete', methods=["DELETE"])  # 方式1
def testDelete():
    data = request.args.get('name')
    print(data)
    return data + "删除成功"


@app.route("/api/delete/", methods=["DELETE"])  # 方式2
def testGetPath(ID):
    print(type(ID))
    return f"测试值为 {ID}"


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

 http://127.0.0.1:5000/api/delete?name=123

 http://127.0.0.1:5000/api/delete/123

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/922564.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-16
下一篇 2022-05-16

发表评论

登录后才能评论

评论列表(0条)

保存