ApiPost使用
详细操作见文档,这里只记录常用操作:https://wiki.apipost.cn/
简介
ApiPost = 接口调试+接口文档快速生成+Mock API+接口流程测试
接口调试
API界面功能布局
API请求参数
Header 参数
你可以设置或者导入 Header 参数,cookie也在Header进行设置
Query 参数
Query 支持构造URL参数,同时支持 RESTful 的 PATH 参数(如:id)
Body 参数
Body 提供三种类型 form-data / x-www-form-urlencoded / raw ,每种类型提供三种不同的UI界面
1)当你需要提交表单时,切换到 x-www-form-urlencoded
2)当你需要提交有文件的表单时,切换到 form-data
3)当您需要发送JSON对象或者其他对象时,切换到对应的raw类型即可
API 请求响应
返回数据默认是Pretty模式,便于查看 JSON XML 格式。您可以通过切换 原生 或 预览 模式 查看其它类型的类型。
点击发送按钮后,如果有数据返回,则会显示返回数据,响应时间,响应码,Cookie等。
返回Headers
响应结果分屏展示
在APIPOST 5.4版本后,支持“响应结果分屏展示”,从而提升工作区的空间。
生成调试代码
填写完接口请求参数后您就可以生成程序代码:
我们提供多达10多种语言以及各种SDK的HTTP请求代码,代码可以非常快速的集成到您的代码中:
参数
前面的示例中,我们都是在单一接口中填入不同的请求header、query、body参数。但在实际项目中,对于一批接口,往往具有相同的请求参数。此时,我们可以利用全局参数或者目录参数实现。
例如:常见的token令牌参数,假使我们请求项目下的任何接口都需要在header带上token参数,那么我们当然可以每个接口的header参数都写一个token,但是这样的话十分不利于后期维护、修改。
全局参数
我们打开全局参数管理器,在全局header填上token参数:
那么我们每次发送接口,都会在请求header中自动带上该参数:
全局query和全局body的使用方法跟全局header类似,不再赘述。
目录参数
目录参数的作用和全局参数雷同,只是作用域不一样,B目录下的接口不会使用同级的A目录的目录参数作为发送参数。
我们可以通过编辑目录进行目录参数的填写:
那么我们每次发送该目录下的接口,都会在请求header中自动带上该参数:
参数的优先级
当全局参数、目录参数、接口中都使用了同一个参数时,最终会按照以下优先级读取参数值:
单个接口 > 目录参数 > 全局参数
如上面的示例,如果全局参数、目录参数、接口中都定义了header参数token:
全局参数:token值为:698d51a19d8a121ce581499d7b701668 // 最低优先级
目录参数:token值为:b50e345cc9febd86dedecc551ebcc505 // 其次优先级
单接口参数:token值为:a1a9db893bb8a28ccb665d2af54d9417 // 最高优先级
那么最终发送的token值为:a1a9db893bb8a28ccb665d2af54d9417
变量
环境变量
当你有多个开发环境以及生产环境,你不用修改文档,一键切换到任意环境。
例:你可以配置线上或者线下环境的变量值。在URL中引用方式变量名。
线上环境:host 对应 echo.apipost.cn
请求URL:https://{{host}}/get.php 对应 https://echo.apipost.cn/get.php
环境变量管理器
进入环境管理
这里也可以进行切换环境。
新建环境
保存即创建成功。
使用脚本定义环境变量
除了通过环境变量管理器,我们也可以通过脚本来定义环境变量。
例如我们在预执行脚本中定义一个环境变量num,其值为1000
apt.variables.set("num", "1000"); // 设置一个全局变量
定义后,就可以使用了
使用环境变量
在请求参数的各个地方中您都可以通过 {{变量名}} 来进行引用:
你在Raw模式下也可以
切换环境,发送请求时,这些参数将会被环境变量值替换掉。
全局变量
全局变量跟环境变量作用域不同。全局变量不受当前环境的影响,只要是在同一个项目下,该变量都会生效。
环境变量和全局变量的调用方法都是一样的 {{变量名}} 。
- 全局变量的作用域:全局变量针对当前整个项目有效。
- 全局变量和环境变量的优先级:全局变量的优先级低于环境变量的优先级。
定义全局变量
目前通过脚本定义全局变量。
例如我们在预执行脚本中定义一个全局变量num,其值为1000
apt.globals.set("num", "1000"); // 设置一个全局变量
定义后,就可以使用了
Mock变量
APIPOST支持参数直接引用mock.js变量(官网:http://mockjs.com/ )。如下图:
更多Mock字段变量可以通过点击APIPOST客户端左下角的“内置Mock字段变量”查看。如图:
接口文档生成
生成文档
点击分享文档
复制并打开文档地址就可以看到了完整的接口文档,此处可以进行导出
参数的描述填写
请求参数
对于header、query以及form-data和urlencode的body参数,我们在如下地方填写参数描述:
响应参数
很多新手困惑为什么APIPOST分享的文档没有成功响应示例和错误响应示例,那是因为APIPOST不会把发送后的实时响应的数据作为响应示例。
您需要手动的将实时响应结果导入或者复制到对应的成功响应示例和错误响应示例:
字段描述的填写跟raw类型的body参数,我们可以通过点击“提取字段和描述”来针对参数进行描述的填写。
参数描述库
写参数描述是我们最烦恼的一件事情,尤其对于很多接口来说,往往具有大量相同名称、相同意义的参数,假如每次都需要手动录入,将会是一件非常耗时、低效的事情。
我们可以通过参数描述库解决这个问题:
使用
通过自定义参数描述库,我们可以将本项目用到的大量参数进行预注释:
我们也可以通过导入参数描述功能,将数据库定义的字段注释快速导入到APIPOST的参数描述库中。
这样我们在填写参数描述的时候,针对已定义的参数,我们可以直接快速导入参数描述:
文档归档
什么是文档归档
所谓“文档归档”是指,此文档一旦被归档,那么前端展示的文档就是归档那个时刻的文档快照,不会随着客户端的临时修改导致的接口保存而改变。未归档的情况下,文档页面仍是实时文档。
怎么查看并管理已归档文档
通过点击归档文档管理查看并管理,一旦取消归档后,文档页回到实时模式。
流程测试
意义
当您想要自动化API测试时,流程测试非常有用。
创建流程测试
创建一个流程测试需要如下步骤:
- 新建接口
- 打开流程测试,新建一个流程
- 向流程添加测试接口
- 选择环境,点击开始测试
- 查看返回的测试接口
流程测试界面如下图:
查看单个接口的信息
通过点击接口名称查看请求的请求和响应参数信息。
由于水平有限,本博客难免有不足,恳请各位大佬不吝赐教!