python使用flask开发web接口(简单)
因为前面已经成功连接了数据库并且查询到了数据库数据,所以我就想着能不能做一个简单的web接口,因为现在都是使用前后端分离开发模式。然后就参考廖雪峰老师的教程使用了falsk
这个web框架
开发
import flask
from flask import request #获取参数
import json #post请求传入json对象时,通过json获取参数
# 数据库查询
def conn_mysql(sql):
import MySQLdb
conn = MySQLdb.connect(user='root', password='root', database='idesk',charset='utf8')
#创建游标 指定查询字段名
cur = conn.cursor(cursorclass = MySQLdb.cursors.DictCursor) #这里
cur.execute(sql)
res = cur.fetchone()
#print(res)
conn.commit()
cur.close()
conn.close()
return res
server = flask.Flask(__name__) #创建一个flask对象
#登录接口
@server.route('/login', methods=['get','post'])
def login():
#判断请求类型
if(request.method == 'POST'):
#入参为json类型时,必须用.json方式获取
username = request.json.get('username')
password = request.json.get('password')
else:
username = request.values.get('username') #获取参数
password = request.values.get('password')
#print(username,password)
#如果存在用户名和密码
if username and password:
sql = 'select * from tbluser where colUsername="%s"'%username
data = conn_mysql(sql)
if data['colPassword'] == password:
return '{"msg":"登录成功"}'
else:
return '{"msg":"账号密码错误"}'
else:
return '{"msg":"请输入用户名密码"}'
#debug设置为True,修改接口信息后直接刷新接口即可;添加参数host='0.0.0.0'允许同一局域网内访问
server.run(port=8000,debug=True)
我这里做的还不够多,比如没有判定数据库数据是否存在什么的,不过也只是一个简单的示例,后续还要学习很多呢
效果
GET
POST