python flask 提供web的get/post开发

发布时间 2023-09-02 12:44:35作者: 香吧香

转载请注明出处:

  使用python flask框架编写web api中的get与post接口,代码编写与调试示例如下:

from flask import Flask, request, jsonify

app = Flask(__name__)

@app.route('/api/get', methods=['GET'])
def handle_get_request():
    try:
        # 解析URL参数
        param1 = request.args.get('param1')
        param2 = request.args.get('param2')

        # 在这里处理GET请求的逻辑
        # ...

        # 返回响应体为JSON数据
        response = {'message': 'Success', 'data': {'param1': param1, 'param2': param2}}
        return jsonify(response)
    except Exception as e:
        # 异常捕捉并返回错误信息
        error_response = {'message': str(e)}
        return jsonify(error_response), 500

@app.route('/api/post', methods=['POST'])
def handle_post_request():
    try:
        # 解析JSON请求体
        json_data = request.get_json()

        # 在这里处理POST请求的逻辑
        # ...

        # 返回响应体为JSON数据
        response = {'message': 'Success', 'data': json_data}
        return jsonify(response)
    except Exception as e:
        # 异常捕捉并返回错误信息
        error_response = {'message': str(e)}
        return jsonify(error_response), 500

if __name__ == '__main__':
    app.run(host='0.0.0.0', port=5000)

  启动这段代码,并调试:

  

  使用curl命令调试接口:

  curl的命令如下:

  使用curl发送GET请求的命令示例:

curl 'http://localhost:15000/api/get?param1=value1&param2=value2'

  使用curl发送POST请求的命令示例:

curl -X POST -H 'Content-Type: application/json' -d '{"key1": "value1", "key2": "value2"}' http://localhost:15000/api/post

  后台运行python:

  运行以下命令来启动Flask服务,并将输出重定向到一个日志文件(例如flask.log)中:

nohup python your_flask_app.py > flask.log 2>&1 &