前言

之前做的一些纯属前端工具类项目,使用的数据都是用json静态数据。最近做了个python客户端项目,突然想能不能用python+sqlite为前端提供接口和数据存储,这样可以解决操作json文件了。于是尝试了一个示例。

01 代码示例

源码下载:https://gitee.com/lqh4188/python-api

1 主文件

为了实现多接口业务的区分,引入Flask类库,可以注册多个接口路由的区分

from flask import Flask
import os
from routes.main_routes import main_bp  # 引入main路由
from routes.api_routes import api_bp  # 引入API路由

app = Flask(__name__)


# 注册蓝图
app.register_blueprint(main_bp)
app.register_blueprint(api_bp)


if __name__ == '__main__':
    port = int(os.environ.get('PORT', 5000))
    host = os.environ.get('HOST', '0.0.0.0')
    debug = os.environ.get('DEBUG', 'False').lower() == 'true'
    app.run(host=host, port=port, debug=debug)
2 默认路由示例

设置默认路由,服务启动后会显示,服务状态和服务器地址

from flask import Blueprint, request, jsonify
from tools.loggerHander import Logger
from tools.sqlSysConfig import get_rpa_info

# 创建蓝图对象
main_bp = Blueprint('main', __name__)
logger = Logger()


@main_bp.route('/')
def index():
    logger.info(f'服务正常启动: {request.host},服务器地址: {request.host}')
    return f"服务器地址: {request.host}"


@main_bp.route('/get_rpa', methods=['GET'])
def get_rpa():
    return get_rpa_info({})
3 业务接口模拟

增加api_routes.py,来模拟不同的业务服务,来模拟一个get和 post接口

from flask import Blueprint, request, jsonify
from tools.loggerHander import Logger

# 创建API蓝图对象
api_bp = Blueprint('api', __name__, url_prefix='/api')
logger = Logger()


@api_bp.route('/data', methods=['GET'])
def get_data():
    # 处理数据获取逻辑
    params = request.args.to_dict()
    logger.info(f"获取数据请求: {params}")
    return jsonify({"code": "000", "msg": "success", "data": params})


@api_bp.route('/process', methods=['POST'])
def process_data():
    # 处理数据处理逻辑
    data = request.json
    logger.info(f"处理数据请求: {data}")
    return jsonify({"code": "000", "msg": "数据处理完成", "data": data})

02 服务验证

1 启动服务

2 获取数据

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐