开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 3854|回复: 10
收起左侧

[源码分享] Python使用Flask实现api接口

[复制链接]
结帖率:100% (4/4)
发表于 2024-6-6 23:20:27 | 显示全部楼层 |阅读模式   重庆市重庆市
本帖最后由 a475972878 于 2024-6-7 13:09 编辑

[Python] 纯文本查看 复制代码
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响应。

结帖率:82% (45/55)

签到天数: 20 天

发表于 2024-6-7 14:24:29 | 显示全部楼层   江苏省无锡市

u班图的话比较麻烦一点  需要把源码弄过去
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 2 天

 楼主| 发表于 2024-6-7 13:08:10 | 显示全部楼层   重庆市重庆市
q838210720 发表于 2024-6-7 13:02
[md]> def post_example():
    # 获取POST请求中的URL参数值
    url_param1 = request.args.get('url_pa ...

对,我修改一下
回复 支持 反对

使用道具 举报

结帖率:83% (24/29)

签到天数: 20 天

发表于 2024-6-7 13:02:44 | 显示全部楼层   江西省吉安市

def post_example():

获取POST请求中的URL参数值

url_param1 = request.args.get('url_param1')
url_param2 = request.args.get('url_param2')

  • 你这个百分百获取不到的
  • 要用request.form.getrequest.values.get
回复 支持 反对

使用道具 举报

结帖率:98% (55/56)

签到天数: 21 天

发表于 2024-6-7 12:52:42 | 显示全部楼层   江西省南昌市
a475972878 发表于 2024-6-7 12:51
一样的,后期我出个教程

论坛还可以写这个啊。我笔记都是写到博客上去了。
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 2 天

 楼主| 发表于 2024-6-7 12:51:01 | 显示全部楼层   重庆市重庆市

一样的,后期我出个教程
回复 支持 反对

使用道具 举报

结帖率:98% (55/56)

签到天数: 21 天

发表于 2024-6-7 12:31:34 | 显示全部楼层   江西省南昌市
a475972878 发表于 2024-6-7 12:28
下期写,慢慢来,当笔记写了

我之前用的是uwsgi。
回复 支持 反对

使用道具 举报

结帖率:98% (55/56)

签到天数: 21 天

发表于 2024-6-7 12:30:19 | 显示全部楼层   江西省南昌市
陈大奶么么哒 发表于 2024-6-7 01:19
最简单粗暴的方式 直接打包成exe到服务器直接打开就行了

ubuntu。   
回复 支持 反对

使用道具 举报

结帖率:100% (4/4)

签到天数: 2 天

 楼主| 发表于 2024-6-7 12:28:02 | 显示全部楼层   重庆市重庆市
fire9 发表于 2024-6-7 01:00
部署到服务器方法也写写

下期写,慢慢来,当笔记写了
回复 支持 反对

使用道具 举报

结帖率:82% (45/55)

签到天数: 20 天

发表于 2024-6-7 01:19:02 | 显示全部楼层   江苏省无锡市
fire9 发表于 2024-6-7 01:00
部署到服务器方法也写写

最简单粗暴的方式 直接打包成exe到服务器直接打开就行了
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表