Postman 连接数据库的利器:xmysql

前言

postman 本身没有数据库连接功能,所以用到了 node.js 中的 xmysql 实现 Rest API 的生成,利用 postman 进行请求,获取需要的数据,来做数据准备或断言

安装

1. 安装 node.js:要求版本大于等于 7.6

首先保证你的环境上有 node.js,如果没有,请安装—> 官网下载地址:传送门

安装成功,在 cmd 输入 node --version,有版本出现说明已经安装成功

image.png

2. 安装 xmysql

在命令行输入 npm install -g xmysql 安装,这个也是比较简单。安装成功,输入 xmysql 可以看到 Usage,说明成功了

image.png

如果版本过低,会是这样:

image.png

连接

在命令行输入以下命令,其中 host 是你的数据库的 host,root、password 分别是你的数据库的账号、密码,db_name 是你需要连接的数据库的名称

xmysql -h host -u root -p password -d db_name

连接上是这样的:

image.png

这时候去浏览器输入 http://localhost:3000,看到了很多 routeUrl

image.png

举个例子:

http://localhost:3000/api/financelog/count

financelog 就是我们的流水记录表

用法

安装连接说完了,不能不说用法。下面通过表格整理一下:

1. 查询所有数据

这个只列常用的,因为一般都是查询居多,增删改请参考官网 API 文档:传送门

MySQL restapi restapi 的使用 含义
select get localhost:3000/api/表名 实现数据库中的查询操作

image.png

2. 单条件查询:查询 id=826 的用户信息
MySQL restapi restapi 的使用 含义
select get localhost:3000/api/表名_where=(id,eq,826) 实现数据库中的查询操作

image.png

注意,(id,eq,826)之间不能有空格,不能写成(id, eq, 826)

同样的,我们说一下,其他的一些比较操作

MySQL restapi restapi 的使用 含义
!= ne (字段,ne,值) 不等于
> gt (字段,gt,值) 大于
>= gte (字段,gte,值) 大于等于
< lt (字段,lt,值) 小于
<= lte (字段,lte,值) 小于等于
is is (字段,is,true/false/null) 判断字段是否是真/假/空
in in (字段,in,值 1,值 2,值 3) 字段在三个值中取值
between bw (字段,bw,值 1,值 2) 字段在某一范围内
like like (字段,like,~值) 使用~代替 MySQL 中的占位符 %
3. 多条件查询:查询 id=826 并且 LeaveAmount=0.00 的用户
MySQL restapi
or ~or
and ~and

为了方便大家看,把查询语句贴出来:


localhost:3000/api/member?_where=(id,eq,826)~and(LeaveAmount,eq,0.00)

image.png

4. 排序:根据 id 降序输出

-号表示降序,不加-表示升序

localhost:3000/api/member?_sort=-id

image.png

5. 限制输出条数

_size=n,表示输出前 n 条,如果有其他条件,用**&**分隔

如果我想输出 LeaveAmount=100.00 的前 2 条数据,应该怎么查询

localhost:3000/api/member?_where=(LeaveAmount,eq,100.00)&_size=2

image.png

在接口项目中的使用

比如前程贷的充值接口,需要 mobilephone,这个 mobilephone 可以从数据库取最新注册的第一个用户手机号

1. 查询语句
localhost:3000/api/member?_sort=-RegTime&_size=1

image.png

2. 设置全局变量

在 Tests 里写入如下语句

var jsonData = pm.response.json();
var mobilePhone = jsonData[0].MobilePhone;
pm.globals.set("mobilePhone", mobilePhone);

注意,这个接口是我们的查询接口,不要做断言处理,因此不需要 pm.test 开头的函数

image.png

发送请求后,会看到全局变量里多了一条 mobilePhone

image.png

3. 充值接口参数化

将请求参数中的 mobilephone 改为{{mobilePhone}},可以看到请求成功了

image.png

1 回帖
请输入回帖内容 ...