前言
🍊缘由
好的工具就要配好的玩法
起因是最近在回顾项目时,看到了年事已高并且长时间不用的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.踩踩狗哥博客
javadog.net
大家可以在里面留言,随意发挥,有问必答
🍯猜你喜欢
文章推荐
【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目
【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序
【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!
【ChatGPT】手摸手,带你玩转ChatGPT
【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT