前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >深夜把玩 ApiPost,分享细腻体验!

深夜把玩 ApiPost,分享细腻体验!

作者头像
小傅哥
发布2022-03-28 17:55:23
3410
发布2022-03-28 17:55:23
举报

作者:小傅哥 博客:https://bugstack.cn

❝沉淀、分享、成长,让自己和他人都能有所收获!😜❞

目录

  • 一、前言
  • 二、什么是 ApiPost
  • 三、为啥用 ApiPost
  • 四、怎么用 ApiPost
    • 1. 下载安装
    • 2. 接口调试
    • 3. 全局参数
    • 4. 目录参数
    • 5. 接口文档
    • 6. Mock工具
    • 7. 流程测试

一、前言

我把需求,提给负责人😂

你知道 GitHub、Gitee,那你知道 Gitcode 吗?你知道 Postman、Swagger 那你知道 ApiPost 吗?我知道,因为这2个产品的负责人都是我的伙伴,有什么其他产品不能满足的需求咋办,我都提给我认识的负责人。你看我就稀罕你做这个玩意,我这一堆的粉丝伙伴都在用,你把这个需求开发了吧。PS:给别人加需求的感觉,还真挺爽!当然我提的也都是正经需求。

两个产品用了也1年多了,嗯两个产品负责人也“被我用”了1年多了,gitcode 越来越丝滑、ApiPost 越来越细腻。对于代码库的使用大家已经非常熟悉了,毕竟带着粉丝做的实战项目《SpringBoot 中间件设计和开发》《Lottery 抽奖系统 - 基于领域驱动设计的四层架构实践》也都是基于这套代码库维护的,但在 API 工具的使用上一直是小傅哥自己折腾的比较多,还没有怎么告诉大家这个细腻的 ApiPost 都提供了什么样的舒服的功能。好东西还是不好藏着掖着,拿出来show一下!

二、什么是 ApiPost

https://www.apipost.cn

ApiPost 是一款帮助研发和测试人员进行接口开发调试的工具服务,之所以说它是服务,因为它不只是提供基本接口的调用功能,还包括把接口信息push到云平台生成接口文档(支持私有化部署)让大家共同维护和使用,也可以允许协同的方式进行维护接口、调试接口、使用接口,与此同时还集成了接口 Mock、JMeter 的相关功能。PS:其他有需要的功能还可以提给负责人!🤏

  • 官网:https://www.apipost.cn/
  • 简述:ApiPost = PostMan + Swagger + Mock 后端、前端、测试,同时在线编辑,内容实时同步

三、为啥用 ApiPost

业务提需求 -> 产品定方案 -> 研发做实现 -> 测试验流程

以上四种角色是互联网中一整条产品需求从生产到上线的必要条件,当需求和目标明确后,决定整个需求的交付质量非常重要的一环就是研发到测试,这一个相互制约的角色关系在,只有研发能更靠的提交代码、测试完整的验证流程和细节,才能保证交付质量。

背景(S) :怎么来提高代码质量呢?一般我们都会要求研发在开发代码的过程中对接口必须100%覆盖度的编写单元测试,验证自己的代码逻辑。如果最终单元测试覆盖度不足,可以由测试拒绝研发提测。

问题(T) :目前很多时候都是研发人员在需求全部完成开发后,人肉的方式把接口信息维护到 CF 文档,再把文档地址交给测试人员进行验证。那如果这个时候发现一些接口问题,反复修改完善代码,就会给测试的工期带来不小的压力,直至导致项目的延期上线。

方案(A) :我们希望在研发开发的代码的过程中,每当完成一个接口的开发,就要把接口信息完善到同一的接口调用服务平台上,这样测试人员就可以很清楚的知道,研发提测了多少个接口、每个接口的单测数据如何、所开发的接口也可以提前让前端介入减少等待时间。

结果(R) :最后在一个需求小组(后端、前端、测试),都统一在一个服务 ApiPost 上维护和完善接口文档,既可以在开发过程中就能进行验证,也可以尽快的知晓开发进度,后端、前端、测试三方的配合也更加紧密,从而提升整个交付质量。

四、怎么用 ApiPost

1. 下载安装

下载支持:Win/Mac/Linux

  • 下载地址:https://www.apipost.cn/download.html
  • 安装说明:傻白甜式安装,直接点即可,安装完成后可以注册账号,这样就可以支持团队协作啦。

2. 接口调试

像使用 PostMan 或者我们自己写的工具一样,接口调试是非常常用的功能,从接口的调用、入参配置、出参展示,使用 ApiPost 可以更细腻舒服的完成这一操作。

使用 ApiPost 做接口调试

  • 描述:小傅哥除了使用 ApiPost 做些项目上的使用,也加了一些自己喜欢玩的 API,例如:成语接龙,自从加了这个 API 我成语接龙就没输过 哈哈哈 😂
  • 配置:ApiPost 可以支持我们在左侧目录创建你的接口目录组,之后在这个组里添加你的接口明细,这样的方式也更加方便我们进行维护接口文档。
  • 调用:调用接口的方式就非常简单了,直接选择发送即可完成接口调用操作。PS:安装后到这个界面一眼就能看得见。
  • 参数:在接口参数配置这块,真的非常舒服,你可以添加任何类型的参数、也可以补充一些脚本信息、还有全局参数和 Mock 数据等,任何你需要的配置都可以在这里找得到。
  • 响应:输出的结果就非常赞了,直接就提供了 JSON 格式,还有一些折叠的小图标。PS:真心讨厌那种输出一堆内容,还得复制走转换一遍 JSON 的

这里的一些其他功能,大家可以体验下。

3. 全局参数

在 Apipost 的主页上,还有一个全局参数、全局脚本内容的配置,真的细腻。一般我们调用接口测试,有的时候很多接口都是一些共性的入参,如果一个个都去配置就麻烦的一批,有了这样一个东西就舒服多了。

Apipost 全局参数、全局脚本

  • 配置完成添加的接口,再次请求后台时,就会携带全局定义的请求头过去。
  • 还支持全局的 Query 以及 Body,可以把一些不变的请求参数都配置好全局参数,这样会让我们编写接口请求时,非常节省时间。

4. 目录参数

这看完全局参数,有人问小傅哥了,都配置了全局参数太粗了,我这现在项目需求多了,不同的项目里需要的统一参数不一样,咋弄呢?

咋弄?这就是 ApiPost 的细腻,它可以支持你直接在自定义目录下自己建目录维度的默认参数信息,满足你的小情绪。

目录参数

  • 对不同的目录,配置不同的全局参数,即可解决我们的所需要场景。
  • 同时,如果你全局、目录、接口,都配置同一个参数,优先级为:单个接口 > 目录参数 > 全局参数 PS:非常符合人性!

5. 接口文档

对于我们实际使用来说,给接口生成描述性文档,包括:接口名称、入参信息、出参信息,这才是非常重要的。

那么 ApiPost 能生成这样的接口文档嘛?自信点,把去掉,不仅能生成,还可以生成的很漂亮,跟着我的步骤走,如下:

目录参数

  1. 补全接口字段信息;类型、描述
  2. 提取响应接口,只要你调用过接口,点一下这里就可以提取了
  3. 保存,也可以保存并归档
  4. 分享文档,点击后会有一个接口链接

文档效果

接口文档

  • 自动生成的文档,包括:接口名称、基本信息、请求参数、响应示例
  • 如果你问我,为啥左侧就一个接口呢,因为 ApiPost 支持分享项目、分享目录、分享接口,三种颗粒度来分享,把你最需要给使用者看的信息,交给他。避免乱花渐欲迷人眼,一个接口找一天。

6. Mock工具

通常前端与后端在开发前,需要进行研发设计评审,评审期间把需要研发人员提供接口先定义出来,之后前后端就可以一同开发了。避免前端同学只能干巴巴的等着,还怪着急的。

那这样情况咋办,其实也好办,就是前端小伙伴通过后端研发提交的接口信息、描述字段,来 Mock 出接口数据,有了一个简单的数据调用,前端同学就可以与后端同学一起动工了。最后后端在提测后,前端在切换接口进行调试验证,大家一起紧密配合,提高交付质量。

而 ApiPost 就可以让你在没有后端服务的情况下,使用 mock.js 能真实的返回接口数据,目前常用的内置变量支持如下:

mock.js 示例

  • 文档:http://mockjs.com/examples.html
  • 说明:你可以打开控制台,随意地试验这些方法。

使用示例

mock 示例

  • 你可以通过拿到后端的接口出参定义,在接口返回结果中设置你想要的参数内容。
  • 另外你可以使用 mock.js 提供丰富的功能,生成你需要的信息。这样仿佛这个接口就是一个活的接口了,一些随机的内容可以更好的帮助前端同学进行测试验证。

7. 流程测试

流程测试是 ApiPost 所提供的一个接口结合测试功能,作为一个完整调用链路的方式进行访问接口,这个时候你可以做一些冒烟测试,对于测试同学来说,是一个非常赞的功能。

在 ApiPost 中,创建一个流程测试需要如下步骤:

  • 新建接口,并添加断言
  • 打开流程测试,新建一个流程
  • 向流程添加测试接口
  • 选择环境,点击开始测试
  • 查看返回的测试接口

流程测试

  • 得益于 ApiPost 所提供的细腻的功能分层结构和各类的内置函数,来完成你的需求目标。就像这里你还可以给接口添加 预执行脚本后执行脚本 这样的功能。

当然,ApiPost 的功能远不止是这样,还有很多的如:文档编辑、协同服务、团队管理、协作日志等等,都能满足需求的。另外像 RPC 的泛华调用,也会在陆续支持中了,哈哈哈,以后用起来就更爽了!PS:不过有任何不爽的,我都给负责人提需求! 你好,我是小傅哥。一线互联网java 工程师、架构师,开发过交易&营销、写过运营&活动、设计过中间件也倒腾过中继器、IO板卡。不只是写Java语言,也搞过C#、PHP,是一个技术活跃的折腾者。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-03-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 bugstack虫洞栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 作者:小傅哥 博客:https://bugstack.cn
  • 目录
    • 一、前言
      • 二、什么是 ApiPost
        • 三、为啥用 ApiPost
          • 四、怎么用 ApiPost
            • 1. 下载安装
            • 2. 接口调试
            • 3. 全局参数
            • 4. 目录参数
            • 5. 接口文档
            • 6. Mock工具
            • 7. 流程测试
        相关产品与服务
        消息队列 TDMQ
        消息队列 TDMQ (Tencent Distributed Message Queue)是腾讯基于 Apache Pulsar 自研的一个云原生消息中间件系列,其中包含兼容Pulsar、RabbitMQ、RocketMQ 等协议的消息队列子产品,得益于其底层计算与存储分离的架构,TDMQ 具备良好的弹性伸缩以及故障恢复能力。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档