11. 接口開發(fā)--注冊(cè)接口
注冊(cè)接口
import flask,json
def my_db(sql):
import pymysql
coon = pymysql.connect(
host='xxx.xx.x.xx', user='xxx', passwd='123456',
port=3306, db='xxx', charset='utf8')
cur = coon.cursor() #建立游標(biāo)
cur.execute(sql)#執(zhí)行sql
if sql.strip()[:6].upper()=='SELECT':
res = cur.fetchall()
else:
coon.commit()
res = 'ok'
cur.close()
coon.close()
return res
#__name__,表示當(dāng)前這個(gè)python文件
server = flask.Flask(__name__) #把當(dāng)前這個(gè)python文件,當(dāng)作一個(gè)服務(wù)。
@server.route('/index',methods=['get']) #裝飾器,index()就不是一個(gè)普通的函數(shù)了
#methods不寫,默認(rèn)get請(qǐng)求,根據(jù)情況要get還是post還是都要
def index():
res = {'msg':'這是我開發(fā)的一個(gè)接口','msg_code':100}
return json.dumps(res,ensure_ascii=False) #
@server.route('/reg',methods=['get','post'])
def reg():
username = flask.request.values.get('username')
pwd = flask.request.values.get('passwd')
if username and pwd:
sql = 'select * from my_user where username = "%s";'%username
if my_db(sql):
res = {'msg':'用戶已存在','msg_code':2001}
else:
insert_sql = 'insert into my_user(username,passwd,is_admin) values("%s","%s",0);'%(username,pwd)
my_db(insert_sql)
res = {'msg':'注冊(cè)成功','msg_code':0}
else:
res = {'msg':'必填字段未填,請(qǐng)查看接口文檔','msg_code':1001} #1001必填字段未填
return json.dumps(res,ensure_ascii=False)
#serve.run要寫到最下方,否則接口不能啟動(dòng)到。
server.run(port =7777,debug=True) #debug=True,表示改了代碼之后,不用重啟,它會(huì)自動(dòng)幫你重啟一次
#默認(rèn)端口號(hào)是5000,
# server.run(port =7777,debug=True,host='0.0.0.0')
#指定host='0.0.0.0',同一個(gè)局域網(wǎng)內(nèi),別人訪問我的ip地址就可以訪問到

浙公網(wǎng)安備 33010602011771號(hào)