API除錯 + API管理 + API搜尋工具,為什麼不能在一起?

語言: CN / TW / HK

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匯入匯出

以上只是一部分功能,在此網頁中有更詳細的描述http://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相符合的互動以及佈局。

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

http://jetbrains.design/intellij/

使用者之間的互動:

  • 開發->開發

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

  • 開發->測試/其他崗位

目前正在處理一鍵生成API文件的功能,這也使得開發者在開發的時候可以快速的將API的一些資訊轉給測試,讓測試人員可以快速編寫白盒測試所需要的程式碼。

例如像這樣子的(目前還在測試階段)

相信過程:收到了許多開發者非常好的想法,並且植入了外掛中,我相信一個軟體的一開始都不會是非常完美的,跟磨劍一樣,需要大量的打磨和細節上的處理。所以不管是做什麼其他軟體的開發還是別的事情,你只有經歷過過程,並解決了所有的坎,才會成長。軟體也是一樣,精益求精,才會越來越完美,你的能力也就上來了,那麼你的待遇也會隨之變好。

遇到坎別害怕:這個感覺非常強烈,我一開始也是小白,有些功能真的是無從下手,怎麼做完全沒有想法,跟spring這種資料諸多的沒法比。這個時候別急,你先記著這些功能,把它羅列下來,等你有一個好的狀態了(心情好)再去做,所有的坎會變得容易。興趣有時候也能撐過去。

總結

我相信我肯定拼不過一些諸如Postman等大眾API除錯工具,人家是若干人團隊。有人會喜歡,也有人會討厭,但是我相信過程,Fast Request不是會讓所有人都得到滿足,但是讓一部分人滿足,讓他們提升開發效率,那Fast Request的目標就達到了。

同時也希望幫助到一些IntelliJ IDEA Plugin開發的朋友。

本文僅僅代表個人的想法,不喜勿噴請放過