beibeijia 2020-06-07
1、开发一个get接口
import flask
import json
"""
flask轻量级的web开发框架
"""
# 初始化一个服务
server = flask.Flask(__name__)
@server.route(‘/api/payment‘) # 装饰器:一个接口
def payment():
data = {"code":301,"msg":"支付处理中","amount":30000}
return json.dumps(data,ensure_ascii=False)
# http://localhost:9999/api/payment
# http://127.0.0.1:9999/api/payment
server.run(port=9999,debug=True)结果:

2、post接口
import flask
import json
"""
flask轻量级的web开发框架
"""
# 初始化一个服务
server = flask.Flask(__name__)
@server.route(‘/api/payment‘) # 装饰器:一个get接口
def payment():
data = {"code":301,"msg":"支付处理中","amount":30000}
return json.dumps(data,ensure_ascii=False)
@server.route(‘/api/login‘,methods=[‘post‘]) # 装饰器:一个post接口
def login():
data = {"code":0,"msg":"登录成功"}
return json.dumps(data,ensure_ascii=False)
# http://localhost:9999/api/payment
# http://127.0.0.1:9999/api/payment
server.run(port=9999,debug=True)结果:

3、启动服务,非本地也可以访问
1 # 启动后,别人可以访问 2 # http://ip:9999/api/payment 3 server.run(host=‘0.0.0.0‘,port=9999,debug=True)
运行后,手机访问(同一个局域网):

4、实例
import flask
import json,pymysql
"""
flask轻量级的web开发框架
"""
# 初始化一个服务
server = flask.Flask(__name__)
def op_mysql(sql):
connect = pymysql.connect(host=‘xxx‘,
port=3306,
db=‘xxx‘,
password=‘xxx‘,
charset=‘utf8‘,
autocommit=True,
user=‘jxz‘
)
cursor = connect.cursor(pymysql.cursors.DictCursor)
try:
cursor.execute(sql)
except Exception as e:
result = {‘error‘:‘sql错误‘}
else:
result = cursor.fetchall()
finally:
cursor.close()
connect.close()
return result
@server.route(‘/api/payment‘) # 装饰器:一个get接口
def payment():
status = flask.request.values.get(‘status‘)
if status == ‘success‘:
data = {"code": 0, "msg": "支付成功", "amount": 30000}
elif status == ‘process‘:
data = {"code":305,"msg":"支付处理中"}
elif status == ‘fail‘:
data = {"code": -1, "msg": "支付失败"}
else:
data = {"code": 400, "msg": "支付状态错误"}
return json.dumps(data,ensure_ascii=False)
@server.route(‘/api/login‘,methods=[‘post‘]) # 装饰器:一个post接口
def login():
data = {"code":0,"msg":"登录成功"}
return json.dumps(data,ensure_ascii=False)
@server.route(‘/api/account/data‘)
def account_data():
#传入参数
account_name = flask.request.values.get(‘account‘)
# 获取json格式的参考
# args = flask.request.json.get(‘xxx‘)
if account_name:
result = op_mysql(‘select * from gtm_account where account="%s";‘% account_name)
else:
result = op_mysql(‘select * from gtm_account;‘)
data = {"code":0,"msg":"success","data":result}
return data
# # 启动服务:启动后只能本地访问
# # http://localhost:9999/api/payment
# # http://127.0.0.1:9999/api/payment
# server.run(port=9999,debug=True)
# 启动服务:启动后别人可以访问
# http://ip:9999/api/payment
# debug=True表示调试模式,改了之后立即生效,不需要重新启动服务
server.run(host=‘0.0.0.0‘,port=9999,debug=True)结果1:

结果2:

结果3:
