【规范】Apifox就应该这么玩
前言
缘由
好的工具就要配好的玩法
起因是最近在回顾项目时,看到了年事已高并且长时间不用的Postman,发现之前自己整理的接口文档十分混乱且没有规律。遂打开现在使用的Apifox,将本狗目前项目中使用Apifox的整理规范和使用方法分享给大家,希望能有些许帮助。

主要目标
实现3大重点
1. 如何在Apifox整理目录
2. 善于使用管理环境
3. 灵活使用前置/后置操作
正文
1.Apifox整理目录
整理前的Postman接口目录

整理后的Apifox接口目录

有的小伙伴可能觉得这整理前和整理后没啥区别,反正就是工具,怎么用怎么舒服。
此话对否?非常对!但只是出于短平快的开发周期来讲没有任何毛病。如果是一个长期迭代,而且流程计划很正规的产品来讲,就显得有些杂乱无章。

本狗就是一个鲜活的例子,总是觉得每次迭代规整接口费时费力,但是实际划分为每个迭代版本后,如果某个版本接口有问题,翻一下接口文档即可轻松定位。不仅美观还很省时省力,自己写起来也舒心。

所以,本狗的整理目录策略按照项目大分类,然后根据不同迭代版本加入前缀,如v1.0.1-用户-登录,v1.0.1-用户-注册等
2.管理环境
项目中开发中,可能会涉及到多个环境,如开发,测试,生产环境等。这就导致接口前缀会有多个不同,所以环境变量的设置尤为重要,不仅可以简化接口地址,并且能够提高接口复用性,去除冗余配置。
举例:
用户登录接口:/user/login
- 开发环境 :https://javadog-dev.com
- 测试环境 :https://javadog-test.com
- 生产环境 :https://javadog.com
需要组合正确的url,分别是:
- https://javadog-dev.com/user/login
- https://javadog-test.com/user/login
- https://javadog.com/user/login
采用环境变量 {{baseUrl}} 来代替访问接口前缀 :
{{baseUrl}}/user/login
如何在环境变量里设置?
点击右上角【管理环境变量】

设置服务名,并写入前置URL,并点击【保存】

重复上述1,2操作,将不同环境的前缀路径分别录入

在新建接口时,不用写入前缀URL,只需写目标路径即可

3.前置/后置操作
什么是前置/后置操作?
前置操作和后置操作都是 API 请求在发送和响应过程中执行的脚本,主要用于在发起 API 请求前和获得响应后完成验证或执行某些操作,目的是为了提高 API 调试和测试的效率,并确保接口的正确性。


大白话就是:在你执行接口前做一些事,叫做前置操作;在你执行接口后做一些事,叫做后置操作
举例:Apifox调用开放接口,前置操作获取数据参数加上密钥生成MD5签名,并请求接口
1、前置操作
点击前置操作

// 获取参数
var body = pm.variables.replaceIn(pm.request.body.raw);
// 转成JSON对象
var jsonData = JSON.parse(body);
// 拼接密钥并取MD5
let sign = CryptoJS.MD5(body+'z61IdxQp9zsSGQ3').toString().toUpperCase();
// 将签名赋值环境变量(详见下方2设置环境变量)
pm.environment.set('weiceSign', sign);
2、设置环境变量
点击【管理环境变量】=》全局变量,设置全局变量weiceSign,对应的是上一步最后将签名赋值环境变量

3、测试
变更参数,发送请求,测试是否能够自动生成头部签名并验证通过

总结
不会用工具的程序员不是个好厨师
工欲善其事必先利其器,通过此篇文章,简单总结了一下本狗工作中工具的使用方式。从三个方面作为切入点,分别讲解了Apifox目录如何分层整理;管理环境的灵活使用;前置/后置操作的配合应用。希望可以通过此水文让更多博友更加熟悉运用手里中的"兵器,让其发挥更大的作用。
猜你想问
如何与狗哥联系进行探讨
关注公众号【JavaDog程序狗】
公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹。

此群优势:
- 技术交流随时沟通
- 任何私活资源免费分享
- 实时科技动态抢先知晓
- CSDN资源免费下载
- 本人一切源码均群内开源,可免费使用
2.踩踩狗哥博客
大家可以在里面留言,随意发挥,有问必答

猜你喜欢
文章推荐
【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!
【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT
【规范】Apifox就应该这么玩的更多相关文章
- Spring RESTful + Redis全注解实现恶意登录保护机制
好久没更博了... 最近看了个真正全注解实现的 SpringMVC 博客,感觉很不错,终于可以彻底丢弃 web.xml 了.其实这玩意也是老东西了,丢弃 web.xml,是基于 5.6年前发布的 Se ...
- 玩转Eclipse — 自动代码规范检查工具Checkstyle
大项目都需要小组中的多人共同完成,但是每个人都有自己的编码习惯,甚至很多都是不正确的.那么如何使小组所有开发人员都遵循某些编码规范,以保证项目代码风格的一致性呢?如果硬性地要求每个开发人员在提交代码之 ...
- 玩点不同之CSS的BEM规范
1.BEM引入背景 因为项目的业务逻辑发生重大变化,所以原来大半年的开发周期里做的事情基本上变成无用功.但是公司的项目上线时间依旧没有改变.剩下的时间只有区区的两个月,要做的功能是有社区+电商+核心业 ...
- 如何玩转国产神器:接口一体化协作平台Apifox!
前言:Apifox是什么? 简介: 简单来说,Apifox = swagger + mock + postman+Jmeter,是API 文档.API 调试.API Mock.API 自动化测试一体化 ...
- 带你玩转Visual Studio
带你玩转Visual Studio 带你新建一个工程 工程目录下各文件的含义 解决方案与工程 在这之前先了解一个概念:解决方案与工程. 解决方案(Solution):一个大型项目的整体的工作环境: 工 ...
- Excel应该这么玩——6、链接:瞬间转移
上一篇中提到通过命名表格来管理基础数据,这样会让数据更规范.如果有很多个基础数据表,需要查找或者修改其中的一个,可以通过名称框中下拉来定位. 但是当表格较多的时候,通过下拉选择的方式就不是很好定位了. ...
- Excel应该这么玩——5、三种数据:Excel也是系统
Excel最常用的功能就是记录数据,把数据按照行列记录下来.这部分数据是源数据,是业务活动中最原始的流水账,作为后续操作的依据.为了从源数据中得出一定的结论,需要对源数据进行分析得出报表数据. ...
- xml 配置文件规范 校验
背景:做的数据同步框架,数据同步种类通过xml配置文件添加.为了系统的稳定性,我们只能认为将来写这个运行配置xml的人是一个傻瓜,那么对xml格式校验就很重要. 通过dom4j,是可以完成对xml格式 ...
- PSR : php编码规范
诸王混战 关于开发标准这块,可以说一直都是风格迥异,各家都有各家的玩法,民间更是个人玩个人的.目前我们国内比较出名的几个框架(Yii,Laravel) 都已经支持Composer并且加入了PHP-FI ...
- 使用Python玩转WMI
最近在网上搜索Python和WMI相关资料时,发现大部分文章都千篇一律,并且基本上只说了很基础的使用,并未深入说明如何使用WMI.本文打算更进一步,让我们使用Python玩转WMI. 1 什么是WMI ...
随机推荐
- 2022美亚杯个人wp
检材文件下载链接:https://pan.baidu.com/s/1kg8FMeMaj6BIBmuvUZHA3Q?pwd=ngzs 提取码:ngzs 个人赛与团队赛下载文件解压密码:MeiyaCup2 ...
- go generate命令简介
最近在研究kratos的使用,发现在kratos run之前会先运行go generate ./...命令. 这个命令之前没怎么用过,所以决定学习下该命令的用法. go generate是Go语言中的 ...
- 13.2 外部DirectX绘制实现
在前一节中我们简单介绍了D3D绘制窗体所具备的基本要素,本节将继续探索外部绘制技术的实现细节,并以此实现一些简单的图形绘制功能,首先外部绘制的核心原理是通过动态创建一个新的窗口并设置该窗口属性为透明无 ...
- 4.2 Inline Hook 挂钩技术
InlineHook 是一种计算机安全编程技术,其原理是在计算机程序执行期间进行拦截.修改.增强现有函数功能.它使用钩子函数(也可以称为回调函数)来截获程序执行的各种事件,并在事件发生前或后进行自定义 ...
- Linux的用户和权限 [补档-2023-07-07]
Linux用户和权限 3-1. su用户切换命令 exit用户退出命令 用户切换命令的语法: su [-] [用户名] 其中: - 可选,表示是否在切换用户后加载环境变量,建议带上. ...
- 深入浅出Java多线程(三):线程与线程组
「引言」 大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第三篇内容:线程与线程组.大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!! 在现代软件开发中,多线程编程已成 ...
- 使用Dapr和.NET 6.0进行微服务实战系列
大家好,我是张飞洪,感谢您的阅读,我会不定期和你分享学习心得,希望我的文章能成为你成长路上的垫脚石,让我们一起精进. 本文是<使用Dapr和.NET 6.0进行微服务实战>的第1篇引言部分 ...
- (C语言)课后题之计算器
#include <stdio.h> void main() { //定义两个算术变量,四个运算结果变量 int a,b,sum,sub,mul,mod; double div; prin ...
- 如何快速获取AWR中涉及到的表
最近遇到一个很少见的需求,是关于应用测试方面的. 具体来说,这个应用的测试需求要基于一个固定的时间点数据,而且只能测试一轮,再测试就需要还原到测试前状态. 因为我们使用的存储是分层的(热数据在Flas ...
- 程序语言多态(overide) - delphi 版本
程序语言多态 - delphi 版本 前言: 所有程序语言都差不多,特写一篇 delphi 版本 的多态:其它语言 类同. 都是一些别人规定的语法而已,别人用一个下午设计一门语言,愚弄天下程序员一生: ...