# Postman

postman可以高效的测试和维护接口,并支持多平台。

请访问 POSTMAN官网 (opens new window) 下载

OS Version

# 项目配置

首先创建项目

image-20180628123448463

然后添加API请求

image-20180628123556704

下面使用 postMan 工具来进行测试

image-20180628122441329

# 环境变量

我们在本地和服务器上都想测试接口,可以将域名定义为环境变量,这样我们只要改变环境域名就会自动变化。

image-20180628124151269 image-20180628124248502 image-20180628124449686

# 自动更新变量

下面来掌握使用请求结果来自动更新环境变量的方法。

在 Tests 标签中添加以下代码,将请求结果中的token变量保存到环境变量 token

// 响应结果
const response = JSON.parse(responseBody)
//在控制台打印结果(在postman软件底部 Console 标签查看)
console.log(response);
//储存到环境变量token
pm.environment.set("token",response.token);

请参考下图配置

image-20210125004233035

# 数据格式说明

postman常用数据提交方式说明如下

  • form-data 可以提交数据与二进制文件
  • x-www-form-urlencoded 只提交键值对数据
  • raw 提交json格式的数据

postman支持cookie与session运行模式。

# 插件安装

首先需要安装插件 Postman Interceptor (opens new window) ,如果不方便访问chrome应用商店,可以自先百度搜索下载该插件。

image-20210214224720427

# 软件配置

下面来配置Postman软件,需要开启cookie拦截并添加域名。

image-20210214224820835

# cookie拦截

现在通过浏览器的访问获取的cookie会自动传递到postman里

image-20210214225046118

# CSRF

如果使用postman访问得到419状态码,即表示csrf-token验证失败。

修改Laravel项目的 app\Http\Middleware\VerifyCsrfToken 文件添加排除csrf验证的路由。

class VerifyCsrfToken extends Middleware
{
  protected $except = [
      'api/*'
  ];
}

# 伪造请求

下面来讨论laravel框架与postman结合使用时的问题。

form-data提交失败

使用postman 的form-data 提交数据时,因为laravel中不能接收 postman中的 PUT与DELETE提交,会出现提交失败的问题。

可以使用以下方式解决

  1. 改变提交方式

    使用x-www-form-urlencoded形式提交

  2. 伪造请求方式

    首称在form-data 中添加 _method 字段,值为 PUT或DELETE来模拟put与delete请求。然后使用post请求方式

image-20210129162650959