欢迎访问我的网站,希望内容对您有用,感兴趣的可以加入免费知识星球。

Flask教程(二十七)json数据交互

Flask Web 迷途小书童 1年前 (2022-12-05) 2144次浏览 0个评论

环境

  • windows 10 64bit
  • anaconda3 with python 3.8.11
  • flask 2.2.2

前言

json 是模块间数据传输最常见的方法,flask 同样能够很方便的接收和返回 json 格式的数据。

实操

来看完整的服务端代码,这里使用 flask.request 中的 get_json 方法

from flask import Flask, jsonify, request

app = Flask(__name__)

@app.route('/', methods=['POST'])
def post():

    # 获取请求的json数据
    req_json = request.get_json()
    print(req_json)

    # 对接收到的数据进行简单处理
    if req_json["operatorID"] != "0001":
        return jsonify({"error": "error."})

    dict_ret = {}
    dict_ret["responseType"] = 2
    dict_ret["status"] = 1000
    dict_ret["num"] = 1
    dict_ret["MD5"] = "4F3D2A1E"

    return jsonify(dict_ret)

if __name__ == '__main__':

    # 启动服务
    app.run(host='0.0.0.0', port=80, debug=True)

然后,启动服务。我们使用 postman 这个工具来模型客户端请求

flask json

postman 发送请求后,可以得到响应,响应数据也是一个 json

flask json

如果请求 jsonoperatorID 不是 0001,服务端则返回 error

flask json

如果需要编程来实现请求,可以借助于 requests 这个库

import requests

r_json = {
    "name": "xgx",
    "operatorID":"0001",
    "requestType":1,
    "num":1
}

r_headers = {"Content-type": "application/json"}

r = requests.post('http://127.0.0.1', json=r_json, headers=r_headers)
print(r.status_code)
print(r.json())

源码下载

https://github.com/xugaoxiang/FlaskTutorial

Flask系列教程

更多 Flask 教程,请移步

https://xugaoxiang.com/category/python/flask/

喜欢 (2)

您必须 登录 才能发表评论!