本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/27521
一、服务的启动配置
服务的启动配置主要包括三项:
- 监听主机
- 监听端口
- debug模式
配置代码如下:
if __name__ == '__main__':
# 设置监听的主机、端口 以及 Debug 模式
# --------------------------------------------------------
# 默认 host = "127.0.0.1"(只能本机访问),端口号为5000
# 当 host = "0.0.0.0",则可以将服务发布到局域网
# 当 host =" 外网ip",则可以将服务发布到 外网 / 公网
# --------------------------------------------------------
# 当端口号被占用或想修改端口号时,可以通过 port = 端口号 进行设定
# --------------------------------------------------------
# 系统未上线时,可以打开 Debug 模式便于测试(通过 debug = True 进行设定),此时,服务器代码修改保存后会自动重新加载,无需重启服务
app.run(host="0.0.0.0",port=5008,debug=True)
服务启动后,配置效果为:
运行效果为:
二、接口配置
flask-restx:支持 RESTFul 的 flask 插件,用于规范化接口的编写,并且支持 swagger 文档。
1、下载 flask-restx
pip install flask-restx
2、基本使用方法
from flask import Flask
from flask_restx import Api, Resource
app = Flask(__name__)
# 1、定义 api 实例对象
api = Api(app)
# 2、通过 api 添加 路由
@api.route('/index/')
# 3、定义类,该类需继承自 Resource
class Flask_Demo(Resource):
# 4、设定 restful 风格的 get 方法
def get(self):
return {"require-post":"get"}
# 设定 restful 风格的 post 方法
def post(self):
return {"require-post": "post"}
if __name__ == '__main__':
app.run(debug=True)
首页运行效果为:
设定的网页路径下,运行效果为:
(1)get请求
(2)post请求
另外,添加路由方法有两种:
@api.route(route1, route2, …)
api.add_resourse(class_name, route1, route2, …)
三、设计框架的原则
- 复用性
- 高内聚(便于复用),低耦合(便于扩展)
比如,在定义接口时,对同一个路由用一个类来处理;对同一类事物的不同操作,用一个类+多个成员函数来处理。