在请求接口的过程中,通常需要将已引用的变量转换为真实的请求数据。然而某些高安全等级接口可能会要求请求数据需要加密 / 签名。此时便要求请求方针对完整的请求数据进行签名处理,最后再将加密数据发送至服务端口。为了解决接口加密 / 签名问题,可以在发起请求前采用专业的签名算法或加密库进行加密。你可以在 Apifox 的「前置操作」环节中对整个请求数据进行签名处理以满足接口的安全要求。设置前置操作#
系统会在所有接口的前置操作中默认内置一条“变量替换”的步骤。该步骤会将接口请求参数中所有引用变量(包括动态值,Mock 请求参数等)转换 为实际的请求数据。添加自定义脚本#
在前置操作中添加自定义脚本,并在脚本中使用内置类库或调用其它语言所编写的加密 / 签名程序。调整脚本顺序#
脚本的运行顺序决定了请求数据的处理效果,你可以通过拖拽的方式调整脚本运行顺序。运行脚本#
下文以 Mock 参数为例,演示脚本运行后的控制台详情。若“自定义脚本”放置在“变量替换”步骤之后,那么签名脚本可以获取到变量替换后的实际请求数据,并针对请求数据整体完成加密。
若“自定义脚本”放置在“变量替换”步骤之前,那么将首先执行签名脚本步骤,然后再执行“变量替换”步骤。
如果你想要在自定义脚本中使用 Mock 模拟出的请求参数,那么应该将系统内置的“变量替换”步骤放置在“自定义脚本”之前。通过脚本 set 变量等自定义操作,需要放在“变量替换”步骤之前,否则通过该脚本 set 的变量就无法在当前接口的实际请求参数中生效。