本节我们属于一个简单的小功能实现,就是复制接口。
需求:
用户点击接口后面的按钮,就会生成一个新的接口,除了名字后缀有副本字样外,其他一切数据都一摸一样。这样方便用户给接口的数据改一改就变成了新的测试点或其他接口了。
首先我们打开P_apis.html,找到这个复制按钮,给它加上onclick属性,点击触发一个叫copy_api()的js函数,入参是这个接口的id:
然后我们在下面找个好地写上这个copy_api函数:
它接收接口id,然后去调用后台函数,让后台函数复制接口,最后再刷新页面,用户就可以看到新的复制出来的接口了。
所以写成如下这样:
然后我们去写urls.py:
最后去views.py中写好对应函数:
中间的复制接口,我们可以先根据api_id去数据库找到并拿出全部数据,再创建新的接口即可。
# 复制接口 def copy_api(request): api_id = request.GET['api_id'] # 开始复制接口 old_api = DB_apis.objects.filter(id=api_id)[0] DB_apis.objects.create(project_id=old_api.project_id, name = old_api.name+'_副本', api_method = old_api.api_method, api_url = old_api.api_url, api_header = old_api.api_header, api_login = old_api.api_login, api_host = old_api.api_host, des = old_api.des, body_method = old_api.body_method, api_body = old_api.api_body, result=old_api.result, sign = old_api.sign, file_key = old_api.file_key, file_name=old_api.file_name, public_header=old_api.public_header, last_body_method=old_api.last_body_method, last_api_body = old_api.last_api_body ) # 返回 return HttpResponse('')
好我们重启服务,刷新页面,测试一下
看样子是成功了...
好本节到此结束,下节开始异常自动测试功能。