mock接口就是模拟接口的意思
1、其他模块的接口没开发好的话,咱们可以写一个接口给mock
2、给别人看数据的时候
import flask
from flask import request # 想获取到请求传参数的话,就得用这个
server = flask.Flask(__name__) # 把这个python文件当作一个web服务,server可以改成别的名字
def conn_mysql(sql):
import pymysql
conn = pymysql.connect(host=‘211.149.218.16‘,user=‘jxz‘,password=‘123456‘,db=‘jxz‘,charset=‘utf8‘)
cur = conn.cursor(cursor=pymysql.cursors.DictCursor)
cur.execute(sql)
res = cur.fetchone()
# print(res)
conn.commit()
cur.close()
conn.close()
return res
def md5_passwd(str,salt=‘123456‘):
#satl是盐值,默认是123456
str=str+salt
import hashlib
md = hashlib.md5() # 构造一个md5对象
md.update(str.encode())
res = md.hexdigest()
return res
import json
@server.route(‘/reg‘,methods = [‘get‘,‘post‘]) # route里面第一个参数是路径名,第二个参数是请求类型,必须用list这种方式,methods默认不写就是get请求
def reg(): # @server.route必须和def reg()紧紧挨着,要不然是普通函数
# print(request.values)打印出一个list,获取到在浏览器里传入的参数,这种格式是[(‘username‘, ‘ssj‘), (‘password‘, ‘123456‘)]
# username = request.values.get(‘username‘) # 调用接口传入的参数
# password = request.values.get(‘password‘) # 调用接口传入的参数
username = request.json.get("username") # 在postman里面入参是json类型的要用这种方式,不用上面的
password = request.json.get("password") # 在postman里面入参是json类型的要用这种方式,不用上面的
if username and password:
sql = ‘select username,password from user where username="%s";‘ % username
res = conn_mysql(sql) # 执行sql
if res:
return ‘{"code":300,"msg":"你注册的用户已经存在"}‘
else:
password = md5_passwd(password)
sql = ‘insert into user(username,password) values ("%s","%s");‘ % (username, password)
conn_mysql(sql)
return ‘{"code":200,"msg":"注册成功!"}‘
else:
return ‘{"code":938,"msg":"请查看接口文档"}‘
# return ‘hello,world!‘
server.run(port = 8000,debug = True,host = ‘0.0.0.0‘) # 0.0.0.0代表监听所有的IP,别人要想访问你的IP,在他的代码里写上你真实的IP就可以访问debug = True是自动重启的意思,下图中的是自动重启按钮
修改代码后会自动刷新,要在浏览器里调一下