抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >

以前不喜欢 Postman,认为它全是英文看不懂,现在觉得这款工具很强大,愿意多了解一下。

最近在公司写一些需要认证才能访问的 API,让我这个平时喜欢用网页在线测试的我有些手忙脚乱,每次要手动去拿 token 再贴到请求头上,很麻烦!有没有一款工具可以按需自动获取 token 填到 headers 上? Postman 的请求前执行脚本可以试一试!

安装 Postman

下载地址:

Download Postman | Get Started for Free

你可以选择在线版,也可以安装软件,貌似是套壳浏览器。。。

在线版需要配置代理服务器,我图省事就装软件了。

大神有做汉化:

PostmanCn: Postman中文版 (gitee.com)

我曾经装过又失效了,不折腾了,调成英文就当学习了

设置请求前获取 token

通常需要登录才能请求的 API 都要携带 token,Postman 有个请求之前执行脚本的功能。

现在我在全局设置一个 Pre-request script,具体操作

image-20211201212803784

在这个框里就可以写脚本了,附上我现在写的脚本

 const loginRequest = {
      url: "http://localhost:1338/auth/local",
      method: "POST",
      header: 'Content-Type: application/json',
      body: {
          mode: 'raw',  
          raw: JSON.stringify({"phone":"156666666666","code":"1"}),
      }
  };
pm.sendRequest(loginRequest, function (err, response) {
    try{
        if(err) throw new Error(JSON.stringify(err))
        const {jwt} = response.json();
        pm.globals.set("token", jwt);
    }catch(err){
        const errObj = JSON.parse(err.message);
        switch(errObj.code){
            case "ECONNREFUSED":
                throw new Error("连不上服务器")
        }
    }
});

注意看携带 JSON 消息体的时候的写法,千万别忘了Content-Type!

最重要的就是拿到token后,设置到全局变量里

这时在Authorization 里填入 token 即可

image-20211201213047124

现在请求该标签页底下的 API 都会在请求之前获取 token 了

请求之后你会在右上角,点击眼睛图标后会看见你设置的全局变量

image-20211201213428780

不生效可以点左下角 Console 看一下报错!

评论