前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >接口测试平台代码实现31:接口列表增删备注功能

接口测试平台代码实现31:接口列表增删备注功能

作者头像
我去热饭
发布2022-05-19 08:49:32
3860
发布2022-05-19 08:49:32
举报
文章被收录于专栏:测试开发干货

本节课继续开发接口列表:

  1. 增加接口功能:

给大家捋一捋思路:首先找到html中的新增接口按钮,给它写一个href超链接,起个路由就叫:/project_api_add/项目id/ 然后去urls.py中写好映射 ,然后去views.py中写好后端函数 project_api_add() 当然这里小伙伴可以多练习,新建一个新的views_api.py 用来专门存放接口库的功能,不过本教程为了不增加额外学习成本,只在一个views.py中写好来,后续可以拆出去反正。

打开P_apis.html,找到新增接口按钮,给他加上一个onclick属性:

代码语言:javascript
复制
onclick="document.location.href='/project_api_add/{{ project.id }}/'"

如图,onclick也可以充当a标签的href属性。

打开urls.py , 新建映射,其中的Pid是项目id

大家注意urls.py中的 / 的位置,html中的/的位置。很多同学的反馈中都是这种粗心的问题,编码不是其他工作,容不得一丝马虎,一个符号错误都可能导致整个项目报错。实在找不出来,可以下载最新源码一句一句的对比。

打开views.py,新建project_api_add()函数:

代码语言:javascript
复制
# 新增接口
def project_api_add(request,Pid):
    project_id = Pid
    DB_apis.objects.create(project_id=project_id)
    return HttpResponseRedirect('/apis/%s/'%project_id)

注意其中 的orm新建数据的方法:create() 其中我只写了所属项目id,其他十几项字段都没写就会默认为空或None

最后返回的时候,因为页面会刷新,所以要返回一个路由而不是什么json串或页面。这里用了强制重定向到项目接口库。如果不这样做, 那么我们新增接口后浏览器顶部的地址是:/project_api_add/项目id/ 这样看起来没什么问题,但是如果这时候用户刷新页面,就会导致再次请求这个新增接口路由,导致更多意料之外的新接口诞生。所以我们这里强制转换路由为接口库初始:/apis/项目id/ ,这样用户怎么刷新也不会出现问题。后续很多href类这种会导致页面刷新的后端函数最好都如此重定向到初始路由,以免出现问题。

可以测试一下:

新增的接口成功出现且顶部浏览器地址栏依然是初始状态,即成功。

2.删除接口功能

思路:找到删除按钮,写一个href,其中要包含接口id,至于项目id无所谓了就不用传了,然后urls.py views.py一条龙服务写好:

代码语言:javascript
复制
onclick="document.location.href='/project_api_del/{{ i.id }}/'"

urls.py:

这里的id是接口id

views.py:

这里我们要用到delete()方法来删除数据库数据

这样就完成了删除功能,但是这里我们要思考一个问题。

我们要怎么返回呢? 还要保持住之前的初始地址,那就必须要有项目id,但是项目id我们没传...

不过好在我们传入了接口id,我们在删除这个接口之前,可以利用它找到它所属的项目id,然后再删除即可,所以函数改成如下:

代码语言:javascript
复制
# 删除接口
def project_api_del(request,id):

    project_id = DB_apis.objects.filter(id=id)[0].project_id
    DB_apis.objects.filter(id=id).delete()
    return HttpResponseRedirect('/apis/%s/'%project_id)
    

好我们测试一下:

可以发现我们刚刚新建的接口已经被成功删除了。。

所以即为成功。

本节内容就到这里,下节我们要开发调试界面,也是整个测试平台中最为复杂的地方。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-08-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试开发干货 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档