当前位置: 首页 > article >正文

Flask 创建API接口服务

完整的 Flask API框架代码

# modules/routes.py
from flask import Blueprint, request

# 创建一个蓝图对象,命名为 "routes"
blueprint = Blueprint("routes", __name__)

# 定义 GET /get_test 路由,返回一个简单的字符串消息
@blueprint.route("/get_test")
def get_test():
    test = "get test succ"
    return test

# 定义 GET / 路由,返回 HTML 文档
@blueprint.route("/")
def home():
    return "<h1>Test接口运行正常</h1>"

# 定义 POST /post_test 路由,处理 JSON 请求并返回修改后的 JSON 对象
@blueprint.route("/post_test", methods=["POST"])
def post_test():
    input_args = request.get_json()  # 从请求体中获取 JSON 参数
    input_args["status"] = 1  # 添加 "status" 键并设置为 1
    return input_args

# app.py
from flask import Flask
from modules.routes import blueprint

def create_app():
    """
    Flask Web APP 工厂函数。

    Linux环境启动指令:gunicorn --workers=5 --timeout=60 --bind=0.0.0.0:5000 "app:create_app()"
    :return: app
    """
    app = Flask(__name__)
    app.register_blueprint(blueprint)  # 注册蓝图

    return app

if __name__ == "__main__":
    # 开发环境测试用
    web_app = create_app()
    web_app.run(host="0.0.0.0", port=5000)

在开发环境中,可以直接运行 app.py 来启动应用。在生产环境中,可以使用以下命令通过 Gunicorn 启动应用:

gunicorn --workers=5 --timeout=60 --bind=0.0.0.0:5000 "app:create_app()"

这个命令设置了 5 个工作进程,每个请求的超时时间为 60 秒,并将应用绑定到 0.0.0.0 地址的 5000 端口。


http://www.kler.cn/a/410215.html

相关文章:

  • 数学建模_基于对数和傅里叶变换的多通道图像增强模型(处理模糊)Matlab代码包教会使用,直接替换数据即可
  • 用 Python 从零开始创建神经网络(十):优化器(Optimizers)(持续更新中...)
  • 微信小程序页面配置详解:从入门到精通
  • jdk-VarHandle 翻译
  • vue3(十九)-基础入门之vue-nuxt反向代理
  • 241124学习日志——[CSDIY] [ByteDance] 后端训练营 [14]
  • 学习threejs,使用设置bumpMap凹凸贴图创建褶皱,实现贴图厚度效果
  • JDK1.8新增特性
  • Java 面经 - HashMap
  • 深入探索Go语言中的sync.Mutex与sync.RWMutex:原理、应用与实践
  • Git Github Gitlab与Gitee的关系
  • 如何在 Eclipse 中调试ABAP程序
  • 【vim】vim怎么把某一列内容复制到另一列
  • 长短时记忆网络(SLTM):理解与实践
  • 基于web的音乐网站(Java+SpringBoot+Mysql)
  • 用 Python 从零开始创建神经网络(十):优化器(Optimizers)(持续更新中...)
  • 利用Google的OR-Tools解决智能调度问题
  • 小程序-基于java+SpringBoot+Vue的美食推荐系统设计与实现
  • 无监督跨域目标检测的语义一致性知识转移
  • vxe-grid table 修改表格数据校验的主题样式
  • 深入解析分布式遗传算法及其Python实现
  • 基于YOLOv8深度学习的智慧农业棉花采摘状态检测与语音提醒系统(PyQt5界面+数据集+训练代码)
  • 一场开源视角的AI会议即将在南京举办
  • 线性代数空间理解
  • CHIMA网络安全攻防大赛经验分享
  • STM32F103C8T6实时时钟RTC