做一个合格的开发,从玩转Apipost开始

本文涉及的产品
性能测试 PTS,5000VUM额度
简介: 做一个合格的开发,从玩转Apipost开始

前言



也是有一段时间没更文了,最近忙于跟生活对线。


今天给大家带来的是一个宝贝, 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的场景图:image.png


① 模拟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:


提前预告,看到下面图的左边绿色(又绿了今天,加仓吗)框框里的目录没,录起来可以直接生成接口文档!后面会讲到,如果你急了,直接看后面第三点③.


image.png


可以看到,接口http请求模拟成功 (这返回数据界面清晰明了,还是因为我代码写得好啊):


image.png


当然,还可以模拟post、get、delete,还有patch、options、propfind、purge 请求等等,它会的太多了


特意点一下post请求 ,咱们平时用的也是很多 :


image.png

② 接口公共参数、环境全局参数的使用


上面接口http请求模拟,其实很多很多软件都能实现。


但是,我们平时系统的接口经常都是涉及到token校验的,还有一些公共的必传参数,例如当前语言环境标识这种。


一次又一次地去给每个接口的 Header ,加上 token 这个key 吗?


一次又一次地给每个接口带上公共参数 语言环境标识 lang 这个key 吗 ?


我现在需要调试 100个接口 ,我要加100次吗? 人生有多少个100次?


Apipost 来了! 它带着 公共参数库 来了!


直接选中 我们Apipost的 左边 api目录,你想在什么层级目录下的接口享受到这个公共参数,那就选择哪一个目录 :


image.png


然后就是 可以去设置 公共的请求头参数 ,公共的Query参数,公共的Body参数 :


image.png


立刻实践验证一下(知识点,@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 ,香:


image.png


③ 一键快速生成文档 ,在线&导出(白嫖文档)


这是我最喜欢的一个功能点了。


想分享哪个目录下的接口,就点哪个,当然咱们也可以直接点击最外面的目录,也就是会生成整个项目的接口文档了;那又当然,我们如果想单独分享某个接口,也可以只点击某个接口做分享。


图示:


image.png


其实还有自由气息更高的,自定义分享:


自己看着想分享那些就勾选需要的目录就行,当然我们如果写的接口提前超过排期时间点了,那自然是需要适度分享的... 感觉我在教坏大家,这个自定义分享很贴心啊(嘿嘿)


image.png


分享的文章可以设置查看权限,支持 开放权限设置:


image.png


也支持密码权限设置:


image.png


分享出来的外网地址,直接访问,就可以看到在线文档:


image.png


每个目录的公共参数,一目了然:


image.png


生成的api接口排版简洁明了:


image.pngimage.pngimage.png


然后是细节了,平时我们找文档里面的接口,也是麻烦得很(Apipost的设计者显然也是开发仔,量身定做了搜索功能):


image.png


导出文档(支持各种格式,HTML、Word、MarkDown):


咱就是说,一键生成导出接口文档,然后任务排期是半天不过分吧,用好了软件,时间不就省下来了吗。


image.png 


④ 团队协作,多人在线一块玩


也就是说我们这个是可以实时邀请其他人一块来玩的,也就是我一边调试,其他人也能一块一边调试。


ps:我们的Apipost是不需要登录也能使用的,但是如果需要协同工作,那自然就是需要登录了,因为有账号体系,可以方便追溯,方便管理。


界面右上角,点击邀请协作(想起之前用postman啊啊啊,都是导出,然后发给其他同事,他们自己导入再用。然后,我这边改了,又得导出,他们再导入。):


image.png

image.png


可以看到分了读写权限的概念,也就是说,这个很细节,假如你现在就是项目经理 (看客们,祝贺自己吧,看文章学着学着职级也升到经理了),哪些人可以看,哪些人能看能写,这个权限你可以把控。


⑤接口的性能测试


这个功能点也非常好,就是我们可以玩一些简单的性能压测,直接看实例:


我们反手录入一个接口:


image.png


然后对这个接口展开调用压测,看看稳不稳定:


image.png


当然还可以配合接口的mock一块用(这Apipost果真是为了协助考虑的,不仅仅对我们开发仔有考虑,还对我们的测试人员也是很贴心):


image.png


⑥接口调用代码生成 (白嫖代码)


这个功能我个人强推!


生成代码:


image.png


cURL方式的:


(意味着什么,那些本地有时候调试完,服务器上是不开放对外访问的,那么直接生成代码粘贴到服务器,一样可以调试...)


image.png


再看下我们选择java(java天下第一,不服评论区见) :


image.png


这个代码意味着什么?


如果说是我们调试第三方接口的时候,只要调通了,直接一键生成,然后复制粘贴到我们的项目里面(当作单测直接改都不用改),当作正式代码使用就稍微优化一下,这可是可视化编程啊啊啊啊!!!!


其他语言生成代码,不看! java就是世界上最好的语言。


ps :


补充一个纯吐槽的点


我是真的真的真的忍了postman一个点很久了,不知道大家有没有遇到过这个问题。


就是用postman,用着用着,某一天打开直接白屏了。 然后需要重新下载…


就光是这一点,如果你也被坑过,请你在评论区 立刻 !马上! 跟我产生一波共鸣!


最后,其实...官网里面的使用教程也很细,而且还有视频教程,非常暖心。


虽然我的教程是最好的教程。(不过还有蛮多很好玩的东西我没一一介绍,所以大家还是可以去官网看看的)。


Apipost官网里面不仅有教程,也有相关的问答社区、博客社区,也算是一个比较好的摸鱼区学习地方。


image.pngapipost 官网 :


https://www.apipost.cn?token=4d1f96403929460350281516e7637ee9


客户端下载地址 :


https://www.apipost.cn/download.html?token=4d1f96403929460350281516e7637ee9


Web版在线使用地址(不用下载):


https://console.apipost.cn/register?token=4d1f96403929460350281516e7637ee9


OK,该篇就到这里吧。

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
相关文章
|
29天前
|
测试技术
软件交付问题之为什么测试用例不能全由开发人员告知测试人员
软件交付问题之为什么测试用例不能全由开发人员告知测试人员
|
3月前
|
Java 测试技术 C#
什么样的自动化测试开发是合格的?
什么样的自动化测试开发是合格的?
|
2月前
|
NoSQL 关系型数据库 MySQL
软件测试之【基于开源商城系统fecmall功能测试项目实例】
软件测试之【基于开源商城系统fecmall功能测试项目实例】
112 0
软件测试之【基于开源商城系统fecmall功能测试项目实例】
|
9月前
|
前端开发 JavaScript Java
编写整个购物网站的项目代码指导
编写整个购物网站的项目代码
104 1
|
设计模式 缓存 负载均衡
🐞 如何成为一名合格的“高级开发”
每个人都说自己是“高级开发人员”,到底真正的高级开发人员应该拥有怎么样的能力呢,我们可以怎么努力呢?
117 3
|
测试技术
嵌入式软件测试笔记8 | 嵌入式软件测试中可测性审查如何开展?
嵌入式软件测试笔记8 | 嵌入式软件测试中可测性审查如何开展?
77 0
|
设计模式 前端开发 JavaScript
🐞 如何成为一名合格的“中级开发”
和大家一起聊聊怎么做一个专业的开发者,如何突破自己的职业瓶颈,找到方法,在这个内卷的时代,等待破局的机会!一起加油!
56 0
|
人工智能 测试技术
嵌入式软件测试笔记5 | 开发人员需要做哪些测试?
嵌入式软件测试笔记5 | 开发人员需要做哪些测试?
104 0
|
前端开发 测试技术 数据库
测试思想-系统测试 软件版本升级测试(摘录)
测试思想-系统测试 软件版本升级测试(摘录)
115 0
|
前端开发 测试技术
一个简单的软件测试流程(附带流程详解)
一个简单的软件测试流程(附带流程详解)
370 0
一个简单的软件测试流程(附带流程详解)