baiping520 发表于 2024-6-10 00:59

Python使用Flask实现api接口

from flask import Flask, request, jsonify

app = Flask(__name__)

# 处理GET请求的示例
@app.route('/get_example', methods=['GET'])
def get_example():
    # 获取GET请求中的参数值
    param1 = request.args.get('param1')
    param2 = request.args.get('param2')

    # 构建返回的JSON数据
    response = {
      "message": "GET request received",
      "param1": param1,
      "param2": param2
    }

    # 返回JSON数据
    return jsonify(response)

# 处理POST请求的示例
@app.route('/post_example', methods=['POST'])
def post_example():
    # 获取POST请求中的URL参数值
    url_param1 = request.values.get('url_param1')
    url_param2 = request.values.get('url_param2')

    # 获取POST请求中的Body值
    body_param1 = request.json.get('body_param1')
    body_param2 = request.json.get('body_param2')

    # 构建返回的JSON数据
    response = {
      "message": "POST request received",
      "url_param1": url_param1,
      "url_param2": url_param2,
      "body_param1": body_param1,
      "body_param2": body_param2
    }

    # 返回JSON数据
    return jsonify(response)

if __name__ == '__main__':
    # 启动Flask应用
    # debug=True:开启调试模式,便于开发时调试错误,自动重载代码
    # host='0.0.0.0':让服务器可被外部访问,而不仅仅是本地访问
    app.run(debug=True, host='0.0.0.0')



代码说明
导入必要的模块:
from flask import Flask, request, jsonify
创建Flask应用:
app = Flask(__name__)
处理GET请求的路由:
@app.route('/get_example', methods=['GET']) def get_example(): # 获取GET请求中的参数值 param1 = request.args.get('param1') param2 = request.args.get('param2') # 构建返回的JSON数据 response = { "message": "GET request received", "param1": param1, "param2": param2 } # 返回JSON数据 return jsonify(response)
request.args.get('param1') 用于获取GET请求中的参数值。
构建一个包含参数值的JSON响应并返回。
处理POST请求的路由:
@app.route('/post_example', methods=['POST']) def post_example(): # 获取POST请求中的URL参数值 url_param1 = request.args.get('url_param1') url_param2 = request.args.get('url_param2') # 获取POST请求中的Body值 body_param1 = request.json.get('body_param1') body_param2 = request.json.get('body_param2') # 构建返回的JSON数据 response = { "message": "POST request received", "url_param1": url_param1, "url_param2": url_param2, "body_param1": body_param1, "body_param2": body_param2 } # 返回JSON数据 return jsonify(response)
request.args.get('url_param1') 用于获取POST请求中的URL参数值。
request.json.get('body_param1') 用于获取POST请求中的Body值。
构建一个包含URL参数值和Body值的JSON响应并返回。
启动Flask应用:
if __name__ == '__main__': # 启动Flask应用 # debug=True:开启调试模式,便于开发时调试错误,自动重载代码 # host='0.0.0.0':让服务器可被外部访问,而不仅仅是本地访问 app.run(debug=True, host='0.0.0.0')
debug=True:开启调试模式,这样可以在代码更改时自动重新加载,并在浏览器中显示错误信息,非常适合开发和调试。
host='0.0.0.0':让Flask应用监听所有可用的网络接口,使得服务器可以被局域网中的其他设备访问,而不仅仅是本地访问(localhost)。
这段代码实现了一个简单的Flask应用,可以处理GET和POST请求,并返回包含请求参数的JSON响应。

ltgb 发表于 2024-6-10 06:32

* Serving Flask app 'default'
* Debug mode: on
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
* Running on all addresses (0.0.0.0)
* Running on http://127.0.0.1:5000
* Running on http://172.19.0.1:5000
Press CTRL+C to quit
* Restarting with stat
* Debugger is active!
* Debugger PIN: 838-754-331

markhoo911 发表于 2024-6-10 10:32

看到标题,进来给你纠错一下,API就是接口的意思,要么是【实现API】要么是【实现REST接口】,或者英文【实现RESTFUL API】

yinsel 发表于 2024-6-10 11:12

感谢分享,flask用起来还是比较方便的

hackerSQL 发表于 2024-6-10 12:42

泽哥 发表于 2024-6-10 14:48

小接口感觉fastapi更好用

chaleaoch 发表于 2024-6-10 14:48

不确定这是哪个年代的demo
现在官网已经不这么写了.

flask run 都这样.

lcg2014 发表于 2024-6-10 20:48

为啥不用fastAPI原生框架?

zucker 发表于 2024-7-9 11:01

lcg2014 发表于 2024-6-10 20:48
为啥不用fastAPI原生框架?

最新的吗、
页: [1]
查看完整版本: Python使用Flask实现api接口