写点什么

软件测试|Flask 框架 - 接口使用

  • 2023-09-07
    北京
  • 本文字数:860 字

    阅读完需:约 3 分钟

设计框架原则:

  • 复用性

  • 高内聚,低耦合


举例:


  • 高内聚:将数据库的增删改查的操作都内聚在一个模块中管理,便于可读性

  • 低耦合:针对于扩展性,例如 appium 有很多工作引擎来切换,安卓,ios,小程序等,可以很方便的将新的引擎集成到框架中


高耦合示例:



  • 问题:判断条件过多,业务逻辑非常复杂


低内聚示例:



  • 问题:同一个路径对应过多请求方法,代码没有复用

Flask RESTX 接口配置

  • flask-restx 是一个支持 RESTFul 的 flask 插件,用于规范化接口的编写,并且支持 swagger 文档

  • 支持 python2.7 和 python3.4+版本


安装:


pip install flask-restx


示例:


from flask import Flaskfrom flask_restx import Resource, Api
app = Flask(__name__)# 创建api对象api = Api(app)

# 使用api来添加路由@api.route('/hello')# 类要继承Resource模块class HelloWorld(Resource): # 定义restful 风格的get方法 def get(self): return {'hello': 'world'}
def post(self): return {'post': 'true'}

if __name__ == '__main__': app.run(debug=True)
复制代码

遵守 RESTFUL 风格规范的代码

from flask import Flaskfrom flask_restx import Resource, Api
app = Flask(__name__)# 创建api对象api = Api(app)

# 使用api来添加路由# 接口路径定义到类上,对应的不同请求操作创建不同的方法@api.route('/hello')# 类要继承Resource模块class HelloWorld(Resource): # 定义restful 风格的方法 def get(self): return {'code': 0, 'msg': 'get success'}
def post(self): return {'code': 0, 'msg': 'post success'}
def put(self): return {'code': 0, 'msg': 'put success'}
def delete(self): return {'code': 0, 'msg': 'delete success'}

if __name__ == '__main__': app.run(debug=True)
复制代码

添加路由的方式

  • 方式一(装饰器添加):@api.route()

  • 方式二(方法添加):api.add_resource(类名,路由路径,,,)


api.add_resource(HelloWorld, '/hello', '/demo')
复制代码


获取更多技术资料,请点击!

用户头像

社区:ceshiren.com 微信:ceshiren2021 2019-10-23 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料,实时更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬。

评论

发布
暂无评论
软件测试|Flask框架-接口使用_霍格沃兹测试开发学社_InfoQ写作社区