您的位置:  首页 > 技术杂谈 > 正文

API调试 + API管理 + API搜索工具,为什么不能在一起?

2022-04-01 14:00 https://my.oschina.net/dromara/blog/5507876 Dromara开源组织 次阅读 条评论

0.前言

大家好,我是开源中国首席脑科主任。开发了一天的增删改查代码,现在简单聊一聊我对于调试项目中的API的一些感想。对于一名资深业务增删改查代码专家,我相信在坐的大多数java developers也是在不断地开发并迭代自己公司的业务,外包团队亦是如此。很久很久以前,我使用Postman作为我的第一API调试工具,功能非常全面,但是有时候却会因为网络问题导致连接慢。后来入手了MacBook Pro,发现了一款叫Paw的API调试工具,非常轻量,对于比方说一个业务接口需要登陆token的信息,添加起来也非常方便,入门门槛也很低,一直沿用至今。但是调试了这么多年的API,有时候真的烦了。我见过一个保存接口,需要保存页面传递过来的50多个字段,当然对于大页面,这种接口比比皆是,非常多。那么无论是Postman和Paw,我都需要手写若干个字段的入参来调试API,一边切换Postman或者Paw,一边调试API,非常痛苦,而且字段越多越容易出错。

那么基于以上的痛点,我开始了冥想,为啥不在我们常用的开发工具里面IntelliJ IDEA中集成一个类似Postman一样的工具呢?为此我付出了将近1年的研究和努力,终于可以让我平时在调试API的时候,有一个非常快的速度,我几乎在写完代码调试API的时候,不需要再关注参数怎么传,url是什么,插件帮我搞定了所有,我只需要稍微改几个值就可以快速发起API请求了,当然这只是一部分核心功能。插件对于刚开始开发java web的初学者,非常友好!

    不基于任何框架,只基于“懒”,Fast Request 应运而生。

1.Fast Request是什么

Restful Fast Request 是idea版Postman。它是一个强大的restful api工具包插件,可以根据已有的方法帮助您快速生成url和params。 Restful Fast Request = API调试工具 + API管理工具 + API搜索工具。 它有一个漂亮的界面来完成请求、检查服务器响应、存储你的api请求和导出api请求。插件帮助你在IDEA界面内更快更高效得调试你的API。

插件最大的优势是在于集成了开发软件IntelliJ IDEA,开发者只需要一门心思的使用IDEA,摆脱了不停切换软件的烦恼,并且插件是直接跟你开发的API代码挂钩,可以相互跳转。我不需要在postman中看到一个API想调试,但我又要去IDEA中翻阅许久找代码。

2.Fast Request的优势是什么

a.基于原生、效率至上,界面好友

Fast Request 提供了一个跟Postman非常相似的界面,使用门槛非常低。(见下图)

插件集成了调试API的核心3要素。1.URL怎么写、2.参数怎么传、3.代码在哪里

当你写完一个方法——查询用户,点击左侧小火箭一键帮你生成好调试API所需要的内容,点击工具栏中的发送API请求按钮就完事了,你还会觉得调试API麻烦吗?

例如如下API,你只需要点火箭,右侧自动根据swagger注解生成对应的参数及描述

b.轻量功能丰富

软件包近6M,核心代码不足1M,并且在IDEA中集成了各种功能。

c.数据安全

数据只存在开发者本地,不会泄露信息。

 

正因为我是一名资深业务增删改查代码专家,我知道java软件开发都在想什么,需要什么,那么促使Fast Request后期不断出开发者所预想的新功能。

 

3.Fast Request提供了什么功能

  • Postman一样的操作界面
  • 一键生成url和参数
  • SearchEveryWhere支持
  • API导出到Postman
  • 发送请求调试API
  • 发送请求并下载文件
  • 域名定制及切换
  • 自定义参数解析
  • 字符串生成策略化
  • 保存API
  • 管理API(搜索过滤、修改API名称等)
  • 一键定位、运行历史保存的API到方法
  • API转curl
  • 自动将API关联到模块分组
  • 内置Json参数编辑器
  • API导航树
  • Headers分组
  • Swagger参数解析支持
  • API导入导出
  •  一键分享API生成Markdown文档(developing)
  •  自动生成参数的描述(developing)

以上所有的功能的灵感来源于本首席脑科主任或者网络上的java增删改查专家。

4.Fast Request的一些功能罗列

  • 调试API

  • 文件下载

  • 导出API到postman

  • SearchEveryWhere支持

  • 常用API管理

  • API导航树

  •  API导入导出

以上只是一部分功能,在此网页中有更详细的描述https://dromara.gitee.io/fast-request/guide/feature.html

 

5.Fast Request开发的过程及感想

开发难度:说句实话吧,真的很,入门相对较高,到现在为止0个优质PR。本人全靠官方文档以及百度、谷歌查询的资料来实现。项目基于Swing,Swing的知识老早交给了当年教我java的刘x苍苍老师了,可想而知前期都是在摸索过程中过来的。有时候想使用一个IDEA的API得找3天,过程非常痛苦。同时兼容性也是一个非常头疼的问题。一个导入导出看似很简单,我被卡了3天。插件的研发把我肝得腰椎间盘都突出了。

细节把控:本首席脑科主任对软件颜值还是有较高要求的,不仅要实用,看着还得舒服,界面及UI上的调整不下百次,界面看上去非常简捷。功能上的细节更不用说。举个例子,你调试API的时候,如何快速得将登录接口的token塞入Headers中,我也是借鉴了Paw,以最好最快的方法,来简化操作者的操作成本。

开发过程中的注意点:你要习惯查阅问题,把握问题的核心点,如何提问。翻阅前人留下来的问题,并去检索,查看人家UI设计设计出跟IntelliJ IDEA相符合的交互以及布局。

https://intellij-support.jetbrains.com/hc/en-us/search

https://jetbrains.design/intellij/

使用者之间的交互:

  • 开发->开发

增加了导入导出功能,可以分享API

  • 开发->测试/其他岗位

目前正在处理一键生成API文档的功能,这也使得开发者在开发的时候可以快速的将API的一些信息转给测试,让测试人员可以快速编写白盒测试所需要的代码。

例如像这样子的(目前还在测试阶段)

相信过程:收到了许多开发者非常好的想法,并且植入了插件中,我相信一个软件的一开始都不会是非常完美的,跟磨剑一样,需要大量的打磨和细节上的处理。所以不管是做什么其他软件的开发还是别的事情,你只有经历过过程,并解决了所有的坎,才会成长。软件也是一样,精益求精,才会越来越完美,你的能力也就上来了,那么你的待遇也会随之变好。

遇到坎别害怕:这个感觉非常强烈,我一开始也是小白,有些功能真的是无从下手,怎么做完全没有想法,跟spring这种资料诸多的没法比。这个时候别急,你先记着这些功能,把它罗列下来,等你有一个好的状态了(心情好)再去做,所有的坎会变得容易。兴趣有时候也能撑过去。

总结

我相信我肯定拼不过一些诸如Postman等大众API调试工具,人家是若干人团队。有人会喜欢,也有人会讨厌,但是我相信过程,Fast Request不是会让所有人都得到满足,但是让一部分人满足,让他们提升开发效率,那Fast Request的目标就达到了。

同时也希望帮助到一些IntelliJ IDEA Plugin开发的朋友。

本文仅仅代表个人的想法,不喜勿喷请放过

 

展开阅读全文
  • 0
    感动
  • 0
    路过
  • 0
    高兴
  • 0
    难过
  • 0
    搞笑
  • 0
    无聊
  • 0
    愤怒
  • 0
    同情
热度排行
友情链接