Python api示例
前言
之前做的一些纯属前端工具类项目,使用的数据都是用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.jsonlogger.info(f"处理数据请求: {data}")return jsonify({"code": "000", "msg": "数据处理完成", "data": data})