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