阅读 2279

使用 Python Flask 快速搭建前端调试后台

前言

前端开发中,必不可少的一部分就是接口调试。常见的做法有 Mock.js 等。但 mock 方式会有一些 不足,如:请求被拦截,无法在chrome中查看请求的各种细节等。针对这些不足,我们可以拓宽我们的技能树,写一部分后端用于项目本地 mock 调试。本文介绍一种基于 Python Flask 框架快速搭建前端调试后台的方案。

Flask 常用方法

基础示例

from flask import Flask, request
from flask_cors import *
import json
import time
import copy
import random
import os

app = Flask(__name__)
CORS(app, supports_credentials=True, resources=r'/*')

CORS(app)

@app.route('/')
def index():
  return 'Hello,Python Flask!'

app.run(debug=True, host='0.0.0.0', port=8000)
复制代码

注意:浏览器测试访问时,需要将 host 的 ip 地址由 0.0.0.0 改成实际的 ip 地址。

路由

路由通过 app.route 进行设置 ,通过 ip 地址:端口号 + 路由 访问。

@app.route('/api/name')
def name():
  return 'Name: Leif'
复制代码

请求方法

GET 请求方法设置。此方法默认,可不设置。

@app.route('/api/info', methods=['GET'])
复制代码

POST 请求方法设置。

@app.route('/api/info', methods=['POST'])
复制代码

请求参数读取

GET 请求参数读取,通过 request.args.get('参数名')

@app.route('/api/info', methods=['GET'])
def info():
  type = request.args.get('type')
  time = request.args.get('time')
复制代码

POST 请求参数读取,通过 request.form.get(字段名)

@app.route('/api/params', methods=['POST'])
def params():
  # browser & os & computer & folder
  browser = request.form.get('browser')
  os = request.form.get('os')
  computer = request.form.get('computer')
  folder = request.form.get('folder')
复制代码

图片读取与保存

@app.route('/api/pic', methods=['POST'])
def pic():
  img = request.files.get('file')
  if img is None:
    return json.dumps({'msg': 'File upload fail!'})
  else:
    img.save(img.filename)
    return json.dumps({'msg': 'File upload success!'})
复制代码

返回错误码返回

@app.route('/api/stcode')
def statusCode():
  return json.dumps({'retcode': 0}), 411
复制代码

json 文件读取

with open('./table.json', 'r+') as f:
  data = json.loads(f.read())

@app.route('/api/json')
def getJson():
  return json.dumps(data)
复制代码

Demo

传送门

文章分类
前端
文章标签