Python之mock接口开发

  • mock接口开发需要使用flask模块,安装flask模块 pip install flask
import flask
import json

server=flask.Flask(__name__) #__name__是指把当前python文件当作一个服务

@server.route(‘/api/login‘,methods=[‘post‘,‘get‘]) #默认不传methods是get请求
def login():
    username=flask.request.values.get(‘username‘) #从请求里面获取到参数,key:value形式

    # flask.request.is_json #判断请求是否为json
    # flask.request.json.get(‘‘)  #如果入参是json的话,用这个获取请求的参数,
    d = {‘error_code‘:0,‘msg‘:‘登录成功‘,‘登陆名‘:username}
    return json.dumps(d,ensure_ascii=False)

# 访问的时候是这样的:http://127.0.0.1:8000/api/login?username=haha

@server.route(‘/api/pay‘)
def pay():
    d = {‘error_code‘:0,‘msg‘:‘支付成功‘}
    return json.dumps(d,ensure_ascii=False)


#自己用的时候访问127.0.0.1,表示本机
server.run(port=8000,debug=True) #启动服务,只能写一次run,放到最下面。加debug=True更新代码后服务会自动重启。

#别人访问
#在同一个局域网,想让别人访问,mac系统加一个host=‘0‘,window加host=‘0.0.0.0‘,这时别人用我的IP就可以访问了
# server.run(host=‘0‘,port=8000,debug=True)
  • 写一个获取数据的方法
import flask
import json

@server.route(‘/api/get_bill‘)
def get_bill():
    table_list=[‘app_myuser‘,‘czm‘] #数据库表
    table_name=flask.request.values.get(‘table_name‘)
    limit=flask.request.values.get(‘limit‘,20) #不传默认返回10条
    if table_name and table_name in table_list:
        sql = ‘select * from %s limit %s‘ %(table_name,limit)
        result=tools.op_mysql(sql)
        data={‘error_code‘:0,‘msg‘:‘成功‘,‘data‘:result}
    else:
        data={‘error_code‘:-1,‘msg‘:‘没有权限查询该表‘}
    return json.dumps(data,ensure_ascii=False)


server.run(port=8000,debug=True) #启动服务

#访问:http://127.0.0.1:8000/api/get_bill?table_name=app_myuser

相关推荐