接口测试平台url数据流转说明:必看!!!

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 接口测试平台url数据流转说明:必看!!!

接口测试平台的页面引用逻辑,并不是传统的各个页面内引用菜单页面。而是菜单页面内引用各个其他页面,所以是完全相反。


菜单页面:welcome.html


然后后台views函数中,返回的其实都是welcome.html,比如进入首页:

image.png

从上图可以看出,虽然进入的是首页,但是返回给浏览器的却是welcome.html也就是菜单页,然后带了一个字典,字典中包含首页html的名字:Home.html 还有俩个变量数据,一个是用户id叫oid,一个是日志id叫ooid,一个是其他各种数据的集合字典。


(这里解释下:oid是object_id的简写,意为公共的物体变量,谁都可以用,就是占位方便使用的。ooid是other_object_id的简写,就是增加了个变量而已,你要喜欢还可以多写一大堆变量作为某些页面的特殊使用准备)


然后,浏览器打开welcome.html的时候,发现内部居然要引用了一个url (也就是要开始想办法塞入首页html了):

image.png

大家看上图,这里调用的是/child/路由,并且后面带了三个参数,其中按照刚刚看到的home函数可以知道,whichHTML是首页的网页名字,oid存放用户id,ooid存放日志id。


好,让我们继续探索,接下来就去urls.py中看看这个/child/路由吧~

image.png

上图中,注意,我这里采用了url函数写法,后面的版本django也可以用re_path函数来写,只是re_path和path函数,你就不要写前面的r"^ 和 结尾的$了。


这段url中同样用三个变量来占位,分别是eid,oid,ooid,此时接收到的数据分别对应 whichHTML首页网页名,oid用户id,ooid日志id。


(注意,路由中eid后接的.+ 这在正则里意思是必填,至少有1位字符串才算数。而oid和ooid都是.* 意思就是也可以不写,因为child路由作为一个公共路由,它会被很多不同的函数调用,所以才要做成这样。)


好,然后我们继续探索这段数据流,/child/路由调用了一个名为child的函数,所以我们去views.py中看看这个函数:

image.png

如上图,我们知道,接收到的eid就是首页的网页名:Home.html ,oid是用户id,ooid是日志id。


然后又把这三个数据 传给了一个叫做child_json的函数,这个函数的作用就是根据不同的页面和用户id和日志id,来决定要返回真正的具体的数据!这样设计的好处是实现了数据的统一管理和不同用户身份的定制化!


获取回来的数据给到res,很显然res就是一个大字典,然后通过标准的return render函数来返回,不过我们先别着急往下走,先去看看child_json函数到底干了啥:

image.png

这里可以看到,child_json函数接收了这三个参数,其中oid和ooid都有默认值为空,这也符合我前面的路由中的设计:oid和ooid只做备用,可以不传的概念。


我们一路跟踪这段数据下来可知道,eid是首页的名字:Home.html ,所以函数内用if来进行判断,如果eid==’Home.html‘ 则走这个分支:

image.png


其中比较复杂,我们也没必要全看,就关注下:最后返回的这个res字典即可。


这个字典res中,我们看到了很多数据,比如hrefs,home_log,hosts等等。


最终这个res被child_json返回给child函数,又被继续返回给浏览器:

image.png

然后浏览器最终通过/chlid/路由 拿到了应该展示的页面eid:”Home.html’ 和其内部的数据res。


成功在welcome.html中嵌入了这个Home.html页面。并展示给你:

image.png

这里大家明白了 eid,oid,ooid等到底是怎么传递了,但其中oid和ooid我一开始就是说了,它们是公共的,也就是任何页面都可以使用的,所以它们具体的含义也是变化的,不同页面给它们的不一样,但总归是在一开始views.py中进入具体页面控制的。


比如我们不用首页做例子,换个页面:


比如项目列表:

image.png

如图,项目列表页压根就没用上oid和ooid....


再比如接口库页面:

image.png

如图,oid此时变成了项目id,ooid变成了一个page变量。

所以在child_json函数中,oid可以直接当项目id用:

image.png


好了,到此结束,如果还不懂,可以继续咨询我或者加我进群聊哦~

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
4天前
|
JSON 前端开发 API
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
27 5
以项目登录接口为例-大前端之开发postman请求接口带token的请求测试-前端开发必学之一-如果要学会联调接口而不是纯写静态前端页面-这个是必学-本文以优雅草蜻蜓Q系统API为实践来演示我们如何带token请求接口-优雅草卓伊凡
|
6天前
|
JSON 前端开发 测试技术
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
47 10
大前端之前端开发接口测试工具postman的使用方法-简单get接口请求测试的使用方法-简单教学一看就会-以实际例子来说明-优雅草卓伊凡
|
1月前
|
数据可视化 前端开发 测试技术
接口测试新选择:Postman替代方案全解析
在软件开发中,接口测试工具至关重要。Postman长期占据主导地位,但随着国产工具的崛起,越来越多开发者转向更适合中国市场的替代方案——Apifox。它不仅支持中英文切换、完全免费不限人数,还具备强大的可视化操作、自动生成文档和API调试功能,极大简化了开发流程。
|
1月前
|
存储 测试技术 数据库
接口测试工具攻略:轻松掌握测试技巧
在互联网快速发展的今天,软件系统的复杂性不断增加,接口测试工具成为确保系统稳定性的关键。它如同“翻译官”,模拟请求、解析响应、验证结果、测试性能并支持自动化测试,确保不同系统间信息传递的准确性和完整性。通过Apifox等工具,设计和执行测试用例更加便捷高效。接口测试是保障系统稳定运行的第一道防线。
|
1月前
|
Web App开发 JSON 测试技术
API测试工具集合:让接口测试更简单高效
在当今软件开发领域,接口测试工具如Postman、Apifox、Swagger等成为确保API正确性、性能和可靠性的关键。Postman全球闻名但高级功能需付费,Apifox则集成了API文档、调试、Mock与自动化测试,简化工作流并提高团队协作效率,特别适合国内用户。Swagger自动生成文档,YApi开源但功能逐渐落后,Insomnia界面简洁却缺乏团队协作支持,Paw仅限Mac系统。综合来看,Apifox是国内用户的理想选择,提供中文界面和免费高效的功能。
|
1月前
|
消息中间件 监控 小程序
电竞陪玩系统架构优化设计,陪玩app如何提升系统稳定性,陪玩小程序平台的测试与监控
电竞陪玩系统架构涵盖前端(React/Vue)、后端(Spring Boot/php)、数据库(MySQL/MongoDB)、实时通信(WebSocket)及其他组件(Redis、RabbitMQ、Nginx)。通过模块化设计、微服务架构和云计算技术优化,提升系统性能与可靠性。同时,加强全面测试、实时监控及故障管理,确保系统稳定运行。
|
2月前
|
监控 JavaScript 测试技术
postman接口测试工具详解
Postman是一个功能强大且易于使用的API测试工具。通过详细的介绍和实际示例,本文展示了Postman在API测试中的各种应用。无论是简单的请求发送,还是复杂的自动化测试和持续集成,Postman都提供了丰富的功能来满足用户的需求。希望本文能帮助您更好地理解和使用Postman,提高API测试的效率和质量。
135 11
|
3月前
|
人工智能 供应链 安全
AI辅助安全测试案例某电商-供应链平台平台安全漏洞
【11月更文挑战第13天】该案例介绍了一家电商供应链平台如何利用AI技术进行全面的安全测试,包括网络、应用和数据安全层面,发现了多个潜在漏洞,并采取了有效的修复措施,提升了平台的整体安全性。
137 4
|
3月前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
92 3
|
3月前
|
监控 安全 测试技术
构建高效的精准测试平台:设计与实现指南
在软件开发过程中,精准测试是确保产品质量和性能的关键环节。一个精准的测试平台能够自动化测试流程,提高测试效率,缩短测试周期,并提供准确的测试结果。本文将分享如何设计和实现一个精准测试平台,从需求分析到技术选型,再到具体的实现步骤。
218 1

热门文章

最新文章