postman 似乎现在很流行啊,它是时调试后台接口的好帮手,我想现在移动开发者基本都用过了,但是你们真正正确使用它了吗。
前几天需要调试接口就像以前一样,把url复制过来直接执行,这似乎是大部分人的使用发放。如下图,就是单个接口的简单调用。
在postman的 功能上, 我发现了APIs,就想这个是不是可以管理我们api呢,于是创建了一个试试看。有个schema type 选项 选择时 openapi3.0 ,好稀奇。好久没有开发后台了,只是用接口,怎么突然出现了这个接口。以前知道restfull,现在又有了,openapi。于是想这个是不是有事一个接口的规范呢。然后去百度下,
restfull:Resuful是一种开发思想,是一种网络应用程序的设计风格和开发方式。
openapi:openApi就是开放api。也就是网站的一些服务商将自己的网站服务封装成一系列的api开放出去,供第三方开发者使用。
openapi,是api的定义,接口定义好了后,各个端可以直接只用api文档生成测试项目。
怎么使用openapi3.0,去百度哦。
postman 怎么使用openapi3.0呢。直接上手。
填写name 、version 、选择schema type 未openapi3.0, schema format 选择json。点击createAPI 后。点击你创建的api项目,点击define页面,这里创建好的demo,对openapi3.0不了解的同学,可以先看看这个例子。然后就可以试着编辑你的api文档了。
怎么使用这个api呢,posman可以直接把他 转成接口。在右上脚 点击generateCollection,选择test the API ,就生成requet APi了。然后就可以 修改你的参数直接调用。
不过到现在好像,还没能做到管我的的api。答案在Collections,从openApi可以直接生成collections,也可以在collections中直接增加request,可以把你单独请求过的接口保存在collections中。
首先从openApi生成 collections,可以可以发现所有的接口url有个{{baseUrl}},这是自动帮你生成了collection的 variables了,然后你就可以在你的api接口中使用这个变量了。
于是我想,其它变量是不是可以这么做呢,答案是可以的,你的token,你的通用参数都是可以保存在 这里的, 然后就可以在你的几口中使用,url,参数里。比如
在url中可以直接使用你定义过的baseurl,只要拼接后的方法,这样服务器换了之后不要每个api去更换服务地址,还可以在 params参数中使用,也可以在body 参数中使用。
token的设置,之前单个api使用时,每个token设置都需要单独设置,token变了以后 需要每个api 去修改,很烦是不是。现在在collection 不需要这么烦,可以设置collection的token
然后在每个api的token设置中 选择 “Inherit auth from parent”
这样每次token 只需要改一次,所有collection中的接口,就都可以用。
然而这样做,还是需要手动修改这个token,有方法可以不用手动改吗, 当然后有方法。我的做法是 把token 写成 collection的变量,然后token设置直接改为变量引用,token 变了去改这个变量,不久可以了吗 。
现在问题就变成了,怎么去动态去改变这个变量了,答案在 api 【test】,
看它的描述:就是说接口执行完成后可以在,这里运行js 代码,比如在登陆后 ,接口回返回新的token,你可以在可这里得到它,然后把它设置在你的collection变量里。
直接看代码:
这样你的全局token 就改变了, 登陆后的借口在postman,可以正常调试了。
说到这里, 这只是你本地的,测试, 给不了你team方便,这点postman也考虑到, 你可以创建你team,然后在team中分享你的collection,也可以直接倒出,然后其他人可以导入这个collection。这样可以在不同开发角色里快速测试api。