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

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

Flask Web 迷途小书童 1年前 (2022-12-05) 1973次浏览 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)

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

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

请关闭 Adblock 等类似浏览器插件,然后刷新页面访问,感谢您的支持!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.