文章目录
前言
最近公司又要开展一个新的项目,而我们公司的项目所有的接口都需要在系统管理里面添加权限之后,才能够进行接口测试以及前后端的接口对接。大几十上百个接口,一个个去页面上添加权限,工作重复有繁琐,所以想出了这个自动化去添加的办法。
在本篇中呢,主要是如何通过swagger接口文档自动获取所需要的接口权限数据,因为Python处理数据比java简单,所以本篇选择使用Python来完成代码。
(本文属原创,转载需注明出处~)
一、从swagger上获取接口数据
这是最简单的一步,一行代码就可以搞定。
data = requests.get(host+url).json()
这里说明一下,因为我们公司有很多项目,每个项目的接口地址都不一样,所以我通过ini文件来配置了我的地址参数,host和url都是在配置文件里读取的,这部分具体的在后面会有。
二、处理数据
1. 获取需要的接口权限数据
首先,先看下我们配置权限所需要的那些数据,我根据页面填写的值,整理出了下面这张参数表:
其实根据这个表,我们最后要从接口中获取的信息就是接口的名称,接口的所属模块以及接口的url。
下面是获取这些信息的代码:
def handle_data():
path_dict = data["paths"]
base_url = data["basePath"]
for url, case_info in path_dict.items():
info = {
}
info["url"]=base_url+url
for method, details in case_info.items():
if("tags" not in details.keys()):
info["tags"]=None
if ("summary" not in details.keys()):
info["summary"] = None
info["tags"]=details["tags"]
info["summary"] = details["summary"]
infos