0


postman环境变量的设置

背景:由于我们项目接口入参都有加密,每次接口调试都得启动项目,运行项目才能把对应的参数给传到后台,然后后台再解密参数,才能进行接口调试,很麻烦(启动前端项目),如果接口不进行加密,暴露在外面,又有点不安全的样子,那么怎么才能每次写接口前,就把对应的参数给加密好,然后进行调试勒? 当然是有的-------- postman强大的工具, 设置环境变量

你们平时有没有看到过这种?**{{xxx}}** 如下图: 这种就是设置了环境变量

​​​

那么,我们需要怎么弄勒?

第一步:下载postman 并登录/注册

下载地址点我

第二步:创建一个team

第三步:新建环境变量

新建一个环境变量,名字无所谓,然后设置参数:里面的参数是:接口每次请求必传不变的值(设置环境变量

第四步:

进入collections ,新建项目(目录),然后进行创建一个接口文档,里面内容就是我们这个接口的内容,参数,公共参数就用环境变量 {{变量名}} ,右上角选择我们建的环境变量

这个地址也可以写成公共的

,好接下来,就是亮点了

第五步:pre-request script

请求发送之前需要执行的代码片段, 这里也就是我说的,我们需要加密参数,然后再请求接口

let _stringifySorted = function(query) {
    let keys = Object.keys(query).sort();
    let list = keys.filter(function(item) {
        return item != 'sign';
    });
    let pairs = list.reduce(function(collect, key) {
        let p = {};
        p[key] = query[key];
        return collect.concat(key).concat(p[key]);
    }, []);
    return pairs.join('');
};

let provider = pm.environment.get('provider')
let appKey = pm.environment.get('appKey')
let secret = pm.environment.get('secret')
let timeStamp = Math.round(new Date().getTime());

pm.environment.set('timeStamp_env', timeStamp.toString())

let req = request.data;
req['timeStamp'] = timeStamp
req['provider'] = provider
req['appKey'] = appKey

let search = _stringifySorted(req)
let sign = CryptoJS.MD5(secret + search + secret)

pm.environment.set('sign_env', sign.toString().toUpperCase())

这里面包含了一些postman的自身语法,相关语法请看官网,需要根据自己项目进行改造,

更多 pre-request script 语法请到官网查看, 链接点我


本文转载自: https://blog.csdn.net/Japhet_jiu/article/details/127688124
版权归原作者 Japhet_jiu 所有, 如有侵权,请联系我们删除。

“postman环境变量的设置”的评论:

还没有评论