前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【测开中台教程-15】首页大搜功能后台接口实现

【测开中台教程-15】首页大搜功能后台接口实现

作者头像
我去热饭
发布2024-10-08 09:49:26
790
发布2024-10-08 09:49:26
举报
文章被收录于专栏:测试开发干货

上节课我们做到基于类视图的接口,因为比较复杂,所以我们甚至单独创建了一个Home_views.py的文件来存储。

urls.py上节课我有个笔误,这里纠正下:不是.view() 而是.as_view()

开始今天内容:在这个Home_views.py文件中,创建好我们的类:CLS_home_search

如图:别忘了导入View库

然后我们直接写一个get函数,这样GET请求就会自动的调用这个get函数了。

接下来,就是我们的详细设计阶段,这个get函数作为入口主函数。它要进行那些步骤呢?而这些具体的步骤实现,都可以交给其他普通函数。

接下来,我们可以试着去给三个搜索函数进行首轮开发(这种重业务功能,一般情况下都是持续迭代和优化的,所以这里叫首轮)

先来看看QPT:公司全平台搜索结果的函数开发

首先,我们想拿到其他各种各样平台数据的最简单的办法就是,通过调用那些平台本身的搜索接口,然后把拿到的数据进行整理。如果个别平台并没有设置这种搜索接口,那么我们就只能想办法去调用一些获取类的get请求,比如这里有个跳板机内部平台,并没有直接提供搜索用的接口,那我们就可以去拿到它的一些列表获取接口,比如菜单,比如跳板机列表这种。

所有的接口回来的数据,虽然是五花八门的,但归根结底,都应该是列表。

所以我们可以把这些列表经过一些简单的整理后,直接拼接成一个大列表,作为res['QPT']的值即可。

但这里需要注意的是这个大列表中的每个元素,都应该是一个小字典。格式如下:

{"url":"","des":"","platform":""}

三个字段,超链接url 不必填。des描述,必填。platform所属平台 必填。

当然,具体每个平台的结果整理,还是要靠小伙伴们之后在公司实际情况具体分析了。我这里只提供了大方向思路哈~

实现脚本如下:

上图我简单解释下,这里因为要搜索的平台众多,所以我做了一个并发,并且阻塞的线程。这样QPT函数完全执行的时间就是最慢的那个平台的搜索时间。

通过platform_list来制定要搜的那些平台,并且这里要有上面提到搜索用的api接口。

在QPT_search函数中,具体处理搜索业务,这里就要具体情况具体写了。实在遇到业务处理复杂的,可以用if来处理。

结果我们保存成一个字典,并加入到self.QPT_res列表中,这个self.QPT_res列表就是公司内全平台最终搜索到的结果了~

本节课到此结束,下节课继续实现吧~

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

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

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

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

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