1 import flask,json 2 # __name__ 代表当前这个接口开发.py这个文件 3 server = flask.Flask(__name__) # 把当前这个python文件,当做一个服务 4 # IP:9999/index?uge 5 @server.route('/index',methods=['get']) 6 7 def index(): 8 res = {'mag':'这是我开发的第一个接口','msg_code':0} 9 return json.dumps(res,ensure_ascii=False) # 参数是字典,调用json.dumps改成json格式 10 11 server.run(port=9999,debug=True) # 调用服务,debug=True,改了代码后,当做一个服务 12 13 #启动运行服务 14 #浏览器输入:http://127.0.0.1:9999/index 15 # 返回:{"mag": "这是我开发的第一个接口", "msg_code": 0} 16 17 # 不添加:ensure_ascii=False 18 #浏览器输入:http://127.0.0.1:9999/index 19 # 返回:{"msg_code": 0, "mag": "\u8fd9\u662f\u6211\u5f00\u53d1\u7684\u7b2c\u4e00\u4e2a\u63a5\u53e3"}
优化:添加注册接口,操作数据库
1 import flask,json 2 # __name__ 代表当前这个接口开发.py这个文件 3 server = flask.Flask(__name__) # 把当前这个python文件,当做一个服务 4 5 # 定义一个操作数据库的函数 6 def my_db(sql): 7 import pymysql 8 coon = pymysql.connect( 9 host='118.24.3.40', user='jxz', passwd='123456', 10 port=3306, db='jxz', charset='utf8') 11 cur = coon.cursor() #建立游标 12 cur.execute(sql)#执行sql 13 if sql.strip()[:6].upper()=='SELECT': 14 res = cur.fetchall() 15 else: 16 coon.commit() 17 res = 'ok' 18 cur.close() 19 coon.close() 20 return res 21 22 # IP:9999/index?uge,代表下面这个方法是个接口,接口路径/index,接口方法是get 23 @server.route('/index',methods=['get']) 24 25 def index(): 26 res = {'mag':'这是我开发的第一个接口','msg_code':0} 27 return json.dumps(res,ensure_ascii=False) # 参数是字典,调用json.dumps改成json格式 28 29 30 31 32 #flask获取参数方式: 33 # request.form.get("key", type=str, default=None) 获取表单数据 34 # request.args.get("key") 获取get请求参数,args返回请求中的参数 35 # request.values.get("key") 获取所有参数,values返回请求中的参数和form 36 # 获取解析json数据格式,request.get_json() 37 38 # IP:9999/index?uge,代表下面这个方法是个接口,接口路径/reg,接口方法是post 39 @server.route('/reg',methods=['post']) 40 def reg(): 41 username = flask.request.values.get('username')#定义username接收数据,flask的数据都来自request,数据存放在values中 42 pwd = flask.request.values.get('passwd') 43 # print(username) 44 if username and pwd: 45 sql='select * from my_user where username = "%s";'%username 46 if my_db(sql): 47 res = {'msg':'用户已存在','msg_code':2001} 48 else: 49 insert_sql = 'insert into my_user(username,passwd,is_admin) values("%s","%s",0)'%(username,pwd) 50 my_db(insert_sql) 51 res = {'msg':'注册成功','msg_code':0} 52 else: 53 res = {'msg':'必填写字段未填,请查看接口文档!','msg_code':1001} 54 return json.dumps(res,ensure_ascii=False) 55 56 # port不写,默认为5000;调用服务,debug=True,改了代码后,当做一个服务 57 # #host='0.0.0.0',一个局域网内的电脑,都可以通过IP进行访问,如:http://192.168.3.40:7777/index 58 server.run(port=7777,debug=True,host='0.0.0.0') 59 60 #启动运行服务 61 #浏览器输入:http://127.0.0.1:9999/index 62 # 返回:{"mag": "这是我开发的第一个接口", "msg_code": 0} 63 64 # 不添加:ensure_ascii=False 65 #浏览器输入:http://127.0.0.1:9999/index 66 # 返回:{"msg_code": 0, "mag": "\u8fd9\u662f\u6211\u5f00\u53d1\u7684\u7b2c\u4e00\u4e2a\u63a5\u53e3"}