前言
也是有一段时间没更文了,最近忙于跟生活对线。
今天给大家带来的是一个宝贝, Apipost。
这东西做啥用?这东西做啥用?这东西做啥用?这东西做啥用?
在了解这个apipost的作用之前,先听我说,谢谢你因为有你,温暖了四季。
身为后端研发的我们, 是不是有以下这些感受?
麻烦点
①写完接口,得自测,写测试用例测完,跟前端联调,跑测试用例每次得重启代码一轮 ,麻烦。
②写完接口,得编写接口文档,纠结怎么去排版弄格式,麻烦。
③写完接口,写完文档,跟前端调试,跟测试对峙,出来混要讲证据,每次都是把接口调用没问题的截图发过去,麻烦。
④写完接口, 写完文档,其他人如果也参与了,还得发文档过去给他们,一起改来改去,麻烦。
都是因为写接口,所以解决方案就是 : 不写接口 ,就可以。
ps:说到接口自测, 忍不住吐槽,接口基本带token或者一些固定请求头,请求参数。烦! 每次调试接口,都得整一遍这些玩意,也是麻烦。
还有那个websocket的自测,简直了,得自己单独写个测试页面或者去找专门的测试网站…
那么,今天带来的Apipost,上边提到的麻烦点,它都能帮我们解决。
正文
开始玩一玩这个Apipost。
我们今天一块玩的东西 :
① 模拟HTTP请求(其实也就是接口调试)
② 接口公共参数、环境全局参数的使用
③ 一键快速生成文档 (白嫖文档)
④ 团队协作,多人在线一块玩
⑤接口的性能测试
⑥接口调用代码生成 (白嫖代码)
最好大家跟着我使用客户端一块操作一下,动手,动手,动手!!
客户端下载地址(本篇文章用的客户端):
https://www.apipost.cn/download.html?token=4d1f96403929460350281516e7637ee9
apipost 官网 :
https://www.apipost.cn?token=4d1f96403929460350281516e7637ee9
Web版链接(不用下载):
https://console.apipost.cn/register?token=4d1f96403929460350281516e7637ee9
先贴一下日常工作的时候,我使用apipost的场景图:
① 模拟HTTP请求(其实也就是接口调试)
今天的砖依然烫手,忙活了一上午的陈师傅,复制粘贴出来了一个查询接口:
/** * @Author: JCccc * @Date: 2022-4-18 11:52 * @Description: */ @RestController public class UserController { @Autowired UserService userService; @GetMapping("/list") public Result<List<User>> list(UserQueryVO userQueryVO) { List<User> list = userService.list(userQueryVO); return new Result<>(200, "success", list); } }
写完接口,打开apipost自测模拟一下接口调用:
ps:
提前预告,看到下面图的左边绿色(又绿了今天,加仓吗)框框里的目录没,录起来可以直接生成接口文档!后面会讲到,如果你急了,直接看后面第三点③.
可以看到,接口http请求模拟成功 (这返回数据界面清晰明了,还是因为我代码写得好啊):
当然,还可以模拟post、get、delete,还有patch、options、propfind、purge 请求等等,它会的太多了。
特意点一下post请求 ,咱们平时用的也是很多 :
② 接口公共参数、环境全局参数的使用
上面接口http请求模拟,其实很多很多软件都能实现。
但是,我们平时系统的接口经常都是涉及到token校验的,还有一些公共的必传参数,例如当前语言环境标识这种。
一次又一次地去给每个接口的 Header ,加上 token 这个key 吗?
一次又一次地给每个接口带上公共参数 语言环境标识 lang 这个key 吗 ?
我现在需要调试 100个接口 ,我要加100次吗? 人生有多少个100次?
Apipost 来了! 它带着 公共参数库 来了!
直接选中 我们Apipost的 左边 api目录,你想在什么层级目录下的接口享受到这个公共参数,那就选择哪一个目录 :
然后就是 可以去设置 公共的请求头参数 ,公共的Query参数,公共的Body参数 :
立刻实践验证一下(知识点,@RequestHeader 可以直接拿请求头参数):
@GetMapping("/list") public Result<List<User>> list(@RequestHeader("token")String token, UserQueryVO userQueryVO){ System.out.println("token:"+token); List<User> list = userService.list(userQueryVO); return new Result<>(200,"success",list); }
可以看到,请求头里面的token ,香:
③ 一键快速生成文档 ,在线&导出(白嫖文档)
这是我最喜欢的一个功能点了。
想分享哪个目录下的接口,就点哪个,当然咱们也可以直接点击最外面的目录,也就是会生成整个项目的接口文档了;那又当然,我们如果想单独分享某个接口,也可以只点击某个接口做分享。
图示:
其实还有自由气息更高的,自定义分享:
自己看着想分享那些就勾选需要的目录就行,当然我们如果写的接口提前超过排期时间点了,那自然是需要适度分享的... 感觉我在教坏大家,这个自定义分享很贴心啊(嘿嘿)
分享的文章可以设置查看权限,支持 开放权限设置:
也支持密码权限设置:
分享出来的外网地址,直接访问,就可以看到在线文档:
每个目录的公共参数,一目了然:
生成的api接口排版简洁明了:
然后是细节了,平时我们找文档里面的接口,也是麻烦得很(Apipost的设计者显然也是开发仔,量身定做了搜索功能):
导出文档(支持各种格式,HTML、Word、MarkDown):
咱就是说,一键生成导出接口文档,然后任务排期是半天不过分吧,用好了软件,时间不就省下来了吗。
④ 团队协作,多人在线一块玩
也就是说我们这个是可以实时邀请其他人一块来玩的,也就是我一边调试,其他人也能一块一边调试。
ps:我们的Apipost是不需要登录也能使用的,但是如果需要协同工作,那自然就是需要登录了,因为有账号体系,可以方便追溯,方便管理。
界面右上角,点击邀请协作(想起之前用postman啊啊啊,都是导出,然后发给其他同事,他们自己导入再用。然后,我这边改了,又得导出,他们再导入。):
可以看到分了读写权限的概念,也就是说,这个很细节,假如你现在就是项目经理 (看客们,祝贺自己吧,看文章学着学着职级也升到经理了),哪些人可以看,哪些人能看能写,这个权限你可以把控。
⑤接口的性能测试
这个功能点也非常好,就是我们可以玩一些简单的性能压测,直接看实例:
我们反手录入一个接口:
然后对这个接口展开调用压测,看看稳不稳定:
当然还可以配合接口的mock一块用(这Apipost果真是为了协助考虑的,不仅仅对我们开发仔有考虑,还对我们的测试人员也是很贴心):
⑥接口调用代码生成 (白嫖代码)
这个功能我个人强推!
生成代码:
cURL方式的:
(意味着什么,那些本地有时候调试完,服务器上是不开放对外访问的,那么直接生成代码粘贴到服务器,一样可以调试...)
再看下我们选择java(java天下第一,不服评论区见) :
这个代码意味着什么?
如果说是我们调试第三方接口的时候,只要调通了,直接一键生成,然后复制粘贴到我们的项目里面(当作单测直接改都不用改),当作正式代码使用就稍微优化一下,这可是可视化编程啊啊啊啊!!!!
其他语言生成代码,不看! java就是世界上最好的语言。
ps :
补充一个纯吐槽的点
我是真的真的真的忍了postman一个点很久了,不知道大家有没有遇到过这个问题。
就是用postman,用着用着,某一天打开直接白屏了。 然后需要重新下载…
就光是这一点,如果你也被坑过,请你在评论区 立刻 !马上! 跟我产生一波共鸣!
最后,其实...官网里面的使用教程也很细,而且还有视频教程,非常暖心。
虽然我的教程是最好的教程。(不过还有蛮多很好玩的东西我没一一介绍,所以大家还是可以去官网看看的)。
Apipost官网里面不仅有教程,也有相关的问答社区、博客社区,也算是一个比较好的摸鱼区学习地方。
apipost 官网 :
https://www.apipost.cn?token=4d1f96403929460350281516e7637ee9
客户端下载地址 :
https://www.apipost.cn/download.html?token=4d1f96403929460350281516e7637ee9
Web版在线使用地址(不用下载):
https://console.apipost.cn/register?token=4d1f96403929460350281516e7637ee9
OK,该篇就到这里吧。