Flask接口开发教程

Flask接口开发教程

Flask是一个使用 Python 编写的轻量级 Web 应用框架,很适合个人开发,我们在此处做一个接口。

准备

我们搭建好python环境后使用pip install flask(或者有环境管理工具anaconda等工具的在对应环境导 入)安装第三方库flask。我们使用的时flask模块中的Flask方法,若我么能使用pycharm创建flask项目也 会生成app.py文件,如下:

from flask import Flask
app = Flask(__name__)
@app.route('/')
def index():
    return "Hello, World!"
if __name__ == '__main__':
    app.run(debug=True)

其中@app.route(‘/’)是访问的路径,run()后面是端口号和调试。port是端口号,默认为5000。debug=True,这样改了代码之后,不需要重启服务,会自动重启。浏览器输入127.0.0.1:5000则可访问。

GET接口

get接口十分简单,不需要上传任何数据,在路径后面添加一个get方法就可以用,返回的是字符串,但由于我们需要它看起来专业一点,返回一个json格式的数据,我们需要导入json库。如下:

import flask,json
server = flask.Flask(__name__)
@server.route('/index',methods=['get'])
def index():
    res={'msg':'这是一个接口','msg_dode':0}
    return json.dumps(res)
if __name__ == '__main__':
    server.run(port=5001,debug=True)

Flask接口开发教程

我们可以用接口测试工具进行测试,postman、apipost之类的,此处用的apipost。

返回数据

这只是一个简单的文本,若是我们想要返回具体的数据呢,我们只需要连到数据库(此处使用的是MySQL),查询到的结果返回来就行了,此处用的第三方库是pymysql,pip
install pymysql安装即可。

import flask,json
import pymysql
server = flask.Flask(__name__)
@server.route('/index/user',methods=['get'])
def index():
    conn = pymysql.connect(host="127.0.0.1",user ="root", password ="111111",database ="test",charset ="utf8mb4")
    cursor = conn.cursor()
    sql ="select Name,Gender from xz_user_table"
    cursor.execute(sql)
    result=cursor.fetchall()
    cursor.close()
    conn.close()
    res={}
    for i in range(0,len(result)):
        xinxi=result[i]
        res[xinxi[0]]=xinxi[1]
    print(res)
    res={'msg':res,'msg_dode':0}
    return json.dumps(res)

if __name__ == '__main__':
    server.run(port=5001,debug=True)

可以看到我们只是在中间加了几行代码用于连接数据库和查询,运行后我们再通过apipost调用我们的接口,就可以看到返回的值了。

Flask接口开发教程
post接口

到了这里其实差不多也就会了,post接口的就是将methods改为[‘post’],然后flask.request.values.get()方法获取入参,再查询数据,返回出参。在此处模仿的是一个注册功能,数据库中有该用户则提示已有该用户,没有则进行注册。代码如下:

import flask,json
import pymysql
import hashlib
server = flask.Flask(__name__)
@server.route('/index/reg',methods=['post'])
def reg():
    username=flask.request.values.get('username')
    pwd=flask.request.values.get('pwd')
    conn = pymysql.connect(host="127.0.0.1",user ="root", password ="111111",database ="test",charset ="utf8mb4")
    cursor = conn.cursor()
    if username and pwd:
        sql ="select * from tb_user where user_name ='%s'"%username
        a=cursor.execute(sql)
        if a==1:
            res={'msg':'用户已存在','msg_dode':0}
        else:
            m = hashlib.md5()
            b = pwd.encode(encoding='utf-8')
            m.update(b)
            passwd = m.hexdigest()
            sql2="insert into tb_user(user_name,mima) values ('%s','%s')"%(username,passwd)
            cursor.execute(sql2)
            conn.commit()
            res={'msg':'注册成功','msg_dode':1}
    else:
        res={'msg':'必填字段未填:username或pwd未填,清重新填写','msg_dode':2}
    return json.dumps(res,ensure_ascii=False)
if __name__ == '__main__':
    server.run(port=5002,debug=True,host='0.0.0.0')

host=0.0.0.0表示只要在同一个局域网,别人访问的时候,用你的ip就可以访问了。

Original: https://blog.csdn.net/yidaogggg/article/details/112372085
Author: xiang_gong_a
Title: Flask接口开发教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/748809/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球