先实例化一个app,如下所示:
from flask import Flask,request,jsonify,make_response
app=Flask(__name__)
users_info={
'1801':['123456','zhangsan',9000],
'1802':['123456','lisi',9080],
'1803':['123456','wangwu',9009]
}
设置动态路由,返回json数据
@app.route("/users/",methods=["GET"])
def get_user01(account):
if account in users_info:
info=users_info[account]
return jsonify({"code":200,"message":"success","data": {"name":info[1],"balance":info[-1]}})
else:
return jsonify({"code": 200,"message": "account does not exit"})
设置静态路由,获取GET请求,返回json数据
@app.route("/users/account",methods=["GET"])
def get_user02(): #不需要传入参数
account=request.args.get("account") #获取客户端请求中参数account的值
if account:
if account in users_info:
info=users_info[account]
return jsonify({"code":200,"message":"success","data": {"name":info[1],"balance":info[-1]}})
else:
return jsonify({"code": 400,"message": "account does not exit"})
解决跨域问题
@app.route("/hello",methods=["GET"])
def hello():
name=''
if 'name' in request.args:
name=request.args["name"]
data=jsonify({'data':'hello'+name})
res=make_response(data)
#接口提供给web使用时,ajax调用会遇到跨域问题,需修改response,设置 Access-Control-Allow-Origin 来解决
res.headers['Access-Control-Allow-Origin']='*'
return res
获取POST请求数据
@app.route("/login",methods=["POST"])
def login01():
account=request.form.get("account")
passwd=request.form.get("passwd")
if account and passwd:
if account in users_info:
info=users_info[account]
if passwd==info[0]:
return jsonify({"code":200,"msg":"success"})
else:
return jsonify({"code": 400,"msg": "passwd error"})
else:
return jsonify({"code": 400,"msg": "account does not exist"})
else:
return jsonify({"code": 200,"msg": "param error"})
设置cookie
@app.route("/login",methods=["POST"])
def login02():
account=request.get_data("account")
passwd=request.get_data("passwd")
if account and passwd:
res=make_response(jsonify({"code": 200,"msg": "success"}))
res.set_cookie("aaaaa")
return res
else:
return jsonify({"code": 200,"msg": "param error"})
设置post请求必选带cookie
@app.route("/submit",methods=["POST"])
def submit():
cookie=request.cookies
account=request.get_data("account") #获取json参数的方式是:request.get_data()
passwd=request.get_data("passwd")
if cookie:
if account and passwd:
return jsonify({"code": 200,"msg": "success"})
else:
return jsonify({"code": 200,"msg": "param error"})
最后
if __name__ == '__main__':
app.run(debug=True)


