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
python使用flask开发web接口(简单)
POST
python使用flask开发web接口(简单)