【规范】Apifox就应该这么玩

news2024/12/23 7:55:50

前言

🍊缘由

好的工具就要配好的玩法

起因是最近在回顾项目时,看到了年事已高并且长时间不用的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

如何在环境变量里设置?

  1. 点击右上角【管理环境变量】
    在这里插入图片描述
  2. 设置服务名,并写入前置URL,并点击【保存】
    在这里插入图片描述
  3. 重复上述1,2操作,将不同环境的前缀路径分别录入
    在这里插入图片描述
  4. 在新建接口时,不用写入前缀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程序狗】

公众号回复【入群】或者【加入】,便可成为【程序员学习交流摸鱼群】的一员,问题随便问,牛逼随便吹。
在这里插入图片描述

此群优势:

  1. 技术交流随时沟通
  2. 任何私活资源免费分享
  3. 实时科技动态抢先知晓
  4. CSDN资源免费下载
  5. 本人一切源码均群内开源,可免费使用
2.踩踩狗哥博客

javadog.net

大家可以在里面留言,随意发挥,有问必答


🍯猜你喜欢

文章推荐

【项目实战】SpringBoot+uniapp+uview2打造H5+小程序+APP入门学习的聊天小项目

【项目实战】SpringBoot+uniapp+uview2打造一个企业黑红名单吐槽小程序

【模块分层】还不会SpringBoot项目模块分层?来这手把手教你!

【ChatGPT】手摸手,带你玩转ChatGPT

【ChatGPT】SpringBoot+uniapp+uview2对接OpenAI,带你开发玩转ChatGPT


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1003870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【数据结构前置知识】初识集合框架和时间,空间复杂度

文章目录 1. 什么是集合框架2. 集合框架的重要性 3. 背后所涉及的数据结构以及算法3.1 什么是数据结构3.2 容器背后对应的数据结构3.3 相关java知识3.4 什么是算法 4.时间复杂度1. 如何衡量一个算法的好坏2. 算法效率3. 时间复杂度3.1 时间复杂度的概念3.2 大O的渐进表示法3.3 …

【ESP32】以蓝牙网关为例,记录队列的使用

📋 个人简介 💖 作者简介:大家好,我是喜欢记录零碎知识点的菜鸟打工人。😎📝 个人主页:欢迎访问我的 Ethernet_Comm 博客主页🔥🎉 支持我:点赞👍收…

geek完全卸载sqlserver2012

前言 有时候sqlserver2012 出现问题,需要卸载安装 会出现卸载不干净的问题 需要用到geek去卸载 卸载 双击exe打开软件 输入sql查询相关的软件 依次一个一个的去删除

Zynq7020 纯VHDL解码 MIPI 视频,4路图像缩放拼接输出,提供vivado工程源码和技术支持

目录 1、前言免责声明 2、我这里已有的 MIPI 编解码方案3、本 MIPI CSI2 模块性能及其优越性4、详细设计方案设计原理框图OV5640摄像头及其配置D-PHY 模块CSI-2-RX 模块Bayer转RGB模块伽马矫正模块VDMA图像缓存Video Scaler 图像缓存RGB转HDMI模块MIPI D-PHY 硬件方案 5、vivad…

如何短期通过PMP考试?(含pmp干货)

一般PMP的准备考试时间都是一个月到三个月之间,一般都不会花超过半年的时间去准备考试的,毕竟想要学习项目管理的人一般应该都还是讲究高效率的,对待考试肯定也是在短时间内去高效学习备考的。 但对于怎样在短期内能够极好的去迎战PMP考试&a…

回溯算法 —— 子集问题

如果说组合问题可以说是思考如何使用回溯算法收割叶子节点的结果、 那么子集问题就是思考如何使用回溯算法收割每一个节点的结果 回溯算法的解题三部曲:1.确定传入的参数 2.确定终止条件 3.确定单层遍历逻辑 ​​​​​​78. 子集 本题就是经典的子集问题了&…

【SpringMvc 丨跨域】

Spring MVC 支持跨域处理(CORS)。 CORS 简介处理CORS 过滤器CrossOrigin注解java配置xml配置 主页传送门:📀 传送 简介 跨域是指在浏览器的同源策略下,不能执行其他网站的脚本。它是由浏览器的安全限制造成的&#xf…

C++程序入门(helloworld.cpp编写)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…

辅助驾驶功能开发-控制篇(01)-基于PID的横向控制算法

1 文档概述 本文档主要描述Lateral Control(横向控制)设计的功能要求、性能要求、算法推导。 2 功能要求 横向控制(Lateral Control)系统根据上层运动规划输出的期望路径、曲率等信息进行跟踪控制,以减少跟踪误差,同时保证车辆行驶平稳性和舒适性。 3 性能要求 控制系统应…

类和对象【基础概念】

全文目录 类的定义定义方式 类的访问限定符封装(面向对象的三大特性之一) 类对象模型类对象的存储方式类对象的大小计算 this指针this指针的特性**this指针可以为空吗?** 类的定义 在C中,C语言中的结构体struct中除了定义变量外还…

深度学习中softmax激活函数的用法

在深度学习中,“softmax” 是一种常用的激活函数,它主要用于多类别分类任务中的输出层。“Softmax” 是 “soft maximum” 的缩写,它通过将输入的实数向量转换为概率分布,用于表示相应类别的概率。

Tomcat多实例部署和动静分离

一、多实例部署: 多实例:多实例就是在一台服务器上同时开启多个不同的服务端口,同时运行多个服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务。 1.前期准备: 1.关闭防火墙:systemctl …

Postman —— 配置环境变量

PostMan是一套比较方便的接口测试工具,但我们在使用过程中,可能会出现创建了API请求,但API的URL会随着服务器IP地址的变化而改变。 这样的情况下,如果每一个API都重新修改URL的话那将是非常的麻烦,所以PostMan中也提供…

【宝藏系列】几款好用的 Spring Boot 内置工具类

【宝藏系列】几款好用的 Spring Boot 内置工具类 文章目录 【宝藏系列】几款好用的 Spring Boot 内置工具类断言对象字符串集合文件资源IO 流反射AOP🍉文末推荐【深入浅出Java虚拟机】 断言 断言是一个逻辑判断,用于检查不应该发生的情况 Assert 关键字…

ARM接口编程—IIC总线(exynos 4412平台)

IIC总线简介 IIC总线是Philips公司在八十年代初推出的一种串行、半双工总线 主要用于近距离、低速的芯片之间的通信;IIC总线有两根双向的信号线一根数据线SDA用于收发数据,一根时钟线SCL用于通信双方时钟的同步;IIC总线硬件结构简单&#xff…

Vim9用netrw快速打开文件

Vim9有一个自带的文件浏览器——netrw,它的功能很强大。今天我们给它添加两个快捷命令: Ctrl回车键,一次打开多个文件Alt回车键,打开文件后自动关闭目录窗口 一、修改vimrc文件: 操作路径:编辑》启动设置…

Python判断多个文件夹的文件夹名是否包含“分公司”或“营销中心”怎么处理?(方法二)...

点击上方“Python爬虫与数据挖掘”,进行关注 回复“书籍”即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 先帝称之曰能,是以众议举宠为督。 大家好,我是皮皮。 一、前言 前几天在Python最强王者群【哎呦喂 是豆子~】问了一…

SOME/IP

介绍 SOME/IP是一种汽车中间件解决方案,可用于控制消息。它从一开始就被设计为完美地适应不同尺寸和不同操作系统的设备。这包括小型设备,如相机、AUTOSAR 设备,以及头戴设备或远程通信设备。它还确保SOME/IP支持信息娱乐域以及车辆中其他域…

AmazonS3Exception: The specified key does not exist

使用S3近端包下载文件时,遇到这个问题,感觉像是设置的桶名称或者文件名没有找到,最后发现是桶名最后多了一个”/“,S3是根据桶名称文件名寻址,中间不需要添加/ 报错桶名:https://img-cdn.abc.com/eb3e9d5d…

机器学习(12)---梯度下降(含手写公式、推导过程和手写例题)

梯度下降 一、概述1.1 梯度下降的用途1.2 梯度下降公式 二、公式讲解2.1 推导过程2.2 例题 一、概述 1.1 梯度下降的用途 1. 使用线性回归的平方误差成本函数时,成本函数不会也永远不会有多个局部最小值。因为它是凸函数,只有单一的全局最小值。通俗地说…