尝试写json接口.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from flask import Flask, request, jsonify
  2. app = Flask(__name__)
  3. @app.route("/asd", methods=["POST"])
  4. def asd_post():
  5. try:
  6. # 使用Flask内置的request对象来获取请求体中的JSON数据
  7. my_json = request.get_json()
  8. print(my_json) # 打印接收到的JSON数据,便于调试
  9. # 从JSON数据中获取"name"和"age"字段的值
  10. get_name = my_json.get("name")
  11. get_age = my_json.get("age")
  12. # 检查"name"和"age"字段是否存在,如果任意一个不存在,则返回错误信息
  13. if not all([get_name, get_age]):
  14. return jsonify(msg="缺少参数"), 400 # 返回HTTP 400状态码表示客户端错误
  15. # 尝试将get_age转换为整数并增加10
  16. try:
  17. get_age = int(get_age)
  18. except ValueError:
  19. return jsonify(msg="年龄必须是整数"), 400 # 如果年龄不是有效的整数,返回错误信息
  20. get_age += 10 # 增加年龄
  21. print(get_name) # 打印获取到的名字,方便调试
  22. print(get_age) # 打印更新后的年龄,方便调试
  23. # 返回包含更新后的名字和年龄的JSON响应,并设置HTTP状态码为200表示成功
  24. return jsonify(name=get_name, age=get_age), 200
  25. except Exception as e:
  26. # 这行代码定义了一个异常处理器,它会捕获try块中抛出的所有异常(除了系统退出类异常)
  27. # Exception 是所有内置异常的基类,因此这里捕获的是大部分常见的运行时错误。
  28. print(e) # 打印异常信息到服务器标准输出,便于调试
  29. # 返回一个包含错误消息的JSON响应,并设置HTTP状态码为500表示内部服务器错误
  30. return jsonify(msg="出错了"), 500
  31. if __name__ == '__main__':
  32. # 确保这段代码仅在脚本作为主程序运行时执行,而不是被导入到其他模块中
  33. app.run(host="0.0.0.0") # 启动Flask应用,监听所有网络接口,使得局域网内的其他设备也可以访问