Python-flask簡單接口開發

 

 

#! encoding:utf-8


import flask,json,pymysql

# flask 一個服務
server=flask.Flask(__name__)

# 本地數據庫方法
def Msqldb(sql):
    db = pymysql.connect(host='localhost',user='root',passwd='123456',port=3306,db='user',charset='utf8')
    cur = db.cursor()
    cur.execute(sql)
    # 判斷sql語句是否select開頭
    if sql.strip()[:6].upper() == 'SELECT':
        res = cur.fetchall()
    else:
        db.commit()
        res = 'OK'
    cur.close()
    db.close()
    return res

# 註冊接口
@server.route('/register',methods=['get','post'])
def sigin():
    # 獲取接口傳入的參數的值
    username = flask.request.json.get("username")
    pwd = flask.request.json.get("password")
    sql = "select username from userinfo WHERE username=" + "'" + str(username) + "'"
    res = Msqldb(sql)
    name = str(res).replace("(('", "").replace("',),)", "")
    if username and pwd:
        if username == name:
            res = {'Massges':'用戶已存在!','ErrorCode':20300}
        else:
            insert_sql = "insert into userinfo(username,password) values("+ "'"+ str(username) + "'" + "," + "'" +str(pwd) + "'" + ")"
            Msqldb(insert_sql)
            res = {'Massges':'註冊成功!','ErrorCode':0}
    else:
        res = {'Massges':'用戶名或密碼不能爲空,請重新輸入!','ErrorCode':20400}
    return json.dumps(res,ensure_ascii=False)

# 登錄接口
@server.route('/login',methods=['post'])
def login():
    # 獲取接口傳入的參數的值
    username = flask.request.json.get("username")
    pwd = flask.request.json.get("password")
    sqluser = "select username from userinfo WHERE username=" + "'" + str(username) + "'"
    sqlpwd = "select password from userinfo WHERE username=" + "'" + str(username) + "'"
    user = Msqldb(sqluser)
    word =  Msqldb(sqlpwd)
    User = str(user).replace("(('", "").replace("',),)", "")
    Password = str(word).replace("(('", "").replace("',),)", "")
    if  username and pwd:
        if User==username and pwd==Password:
            res = {"Massges":"登錄成功!","ErrorCode":0}
        elif User==username and pwd!=Password:
            res = {"Massges": "密碼錯誤,請重新輸入!", "ErrorCode": 20021}
        else:
            res = {"Massges": "用戶未註冊,請註冊後登錄!", "ErrorCode": 20022}
    else:
        res = {"Massges": "用戶名或密碼不能爲空,請重新輸入!", "ErrorCode": 20032}
    return json.dumps(res, ensure_ascii=False)

server.run(port=9999,debug=True,host='localhost')

接口請求後寫入的數據庫數據:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章