python-flask框架web服务接口开发实例
一、flask
flask是一个python编写的轻量级框架,可以使用它实现一个网站或者web服务。本文就用flask来开发一个接口。
二:安装框架
flask需要先安装再引用。pip install flask
安装成功见截图
三:flask开发接口流程
用flask开发接口的流程为:
#__name__代表当前的python文件。把当前的python文件当做一个服务启动
1、定义一个server
server=flask.Flask(__name__)
2、然后定义接口函数,一般函数和接口函数的区别在于,定义为接口的函数上方要特别加上:
#第一个参数就是路径,第二个参数支持的请求方式,不写的话默认是get;
#/index/是接口的url
@server.route('/index',methods=['get','post'])
3、让程序运行
app.run(host='0.0.0.0', port=50009)啊,其中host设置0.0.0.0的话可以使用公网ip访问,port是设置的端口号,port不填的话默认5000
import flask
import json
#首先app = Flask(__name__)这部分是一个初始化的过程;__name__代表当前的python文件。把当前的python文件当做一个服务启动
server= flask.Flask(__name__)
@server.route("/test/")
# 这是个事例get访问本机http://0.0.0.0:7777/index 响应信息"msg":"这是个响应信息","msg_code":"0000"
@server.route('/index',methods=['get','post'])
def index():
res={"msg":"这是个响应信息","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
import json
#首先app = Flask(__name__)这部分是一个初始化的过程;__name__代表当前的python文件。把当前的python文件当做一个服务启动
server= flask.Flask(__name__)
@server.route("/test/")
# 这是个事例get访问本机http://0.0.0.0:7777/index 响应信息"msg":"这是个响应信息","msg_code":"0000"
@server.route('/index',methods=['get','post'])
def index():
res={"msg":"这是个响应信息","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
五:接口post请求实例
#这是个实例post请求,定义的接口只有两个参数'username'、'password',没有任何业务校验,参数都不为空则服务返回接口调用成功,参数为空则服务返回接口调用失败
@server.route('/index',methods=['post'])
def index():
#那么如果要接受传入的参数,则可用以下方法
username=flask.request.values.get('username')
password=flask.request.values.get('password')
if username and password:
res={"msg":"接口调用成功","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
else :
res={"msg":"接口调用失败,必填项为空","msg_code":"9999"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
@server.route('/index',methods=['post'])
def index():
#那么如果要接受传入的参数,则可用以下方法
username=flask.request.values.get('username')
password=flask.request.values.get('password')
if username and password:
res={"msg":"接口调用成功","msg_code":"0000"}
return json.dumps(res, ensure_ascii=False)
else :
res={"msg":"接口调用失败,必填项为空","msg_code":"9999"}
return json.dumps(res, ensure_ascii=False)
server.run(port=7777,debug=True,host='0.0.0.0')
如下图是jmeter测试该本地服务
总结:
至此python一个简单的web服务实例已经完成。