[Chrome/Firefox] RESTFul 擴充元件、外掛與實用線上工具整理


現在很多的系統都是採用RESTful架構來設計,本篇不談什麼是「RESTful」,不清楚或者想了解的人可以搜尋一下就有很多相關的文章可以參考,一般來說,工程師比較會遇到這部分的技術,然而,不管你是負責設計Server端或Client端,一定需要一些工具來協助驗証才能增加效率,本文將介紹幾款我比較常用的Chrome、Firefox的RESTful外掛、相關資訊給大家,一方面自己做記錄,一方面提供有給需要的人參考,如果不喜歡外掛形式的人,文末也會提供現成的線上工具可以直接測試使用。

Simple RESTful Example

在進行簡單的使用說明前,如何來驗証工具的正確性也是相當重要的,不然你會不知道到底是工具有問題,還是我們實作的程式出了錯,所以我推薦可以利用「Simple RESTful Example」所提供的GET、POST、PUT、DELETE等相關範例來進行驗証

如何得到這些驗証的範例呢?請先進入官方首頁後,右邊就有相關的連結可以取得範例代碼,而進入後的「網址」就是我們測試時要用到的測試網址

以POST為例,網頁中已提供了XML、JSON二種格式的Header,並有相對應的Body內容可以直接取用

以下介紹RESTFul的外掛工具時,就可以利用這些範例來進行測試

Simple REST Client

瀏覽器:Chrome、下載:按我安裝

這是我第一個使用的Chrome REST擴充套件,就如套件名稱所述,是個非常簡單的工具,但卻相當的容易使用,不過說也奇怪,如果直接在Chrome線上應用程式商店中輸入關鍵字來搜尋,我就是找不到這個擴充元件,所以有需要的人請直接點選下載連結來安裝。

以POST為例,只要輸入網址,並在Method中選擇「POST」,手動輸入「Headers」的資料,並於「Data」中貼上要傳送的資料後再送出即可,這些資料都可以由上面介紹的RESTful範例中取得

正常的話,應該會得到200 OK的回應碼,並會顯示Headers和回傳的內容給我們知道,此時Server的端的工程師就可以知道Client送來什麼資料,而Client端的工程師也可以了解Server的回應是什麼,進行達到偵錯的效果

若是要測試GET的話更簡單了,直接輸入網址,Method選擇GET即可,只是這個外掛比較簡單,只會忠實的把內容呈現出來,並不會美化編排

RESTClient

瀏覽器:Firefox、下載:按我安裝

如果是習慣用Firefox,那麼建議可以安裝RESTClient,安裝過後的進入點在「工具」→「RESTClient

相對而言,RESTClient的功能比Simple REST Client多,還含有簡易的簡理功能,以下簡述一些常用的欄位供大家參考:

  1. Method:選擇傳送的方法,例如POST、GET等
  2. URL:輸入欲傳送的網址
  3. Headers:如果你需要輸入Header的話,那麼可以在此處設定,還可以儲存成常用Header,節省下次輸入的時間
  4. Body:傳送的內容,像POST就需要用到這個欄位
  5. Response:回傳的內容,這裡RESTClient把內容細分成Headers、純內容及美化後的編排,你可以依自己的需求來觀看內容,舉例來說,如果Server是回傳JSON格式的話,那麼用Response Body (Highlight)就可以看到排例整齊的回傳資料,看起來就清楚多了
  6. Favorite Requests:如果常測試某個Request,那麼可以把它儲存起來,可節省下次重新輸入的時間,甚至可以把儲存的Request匯出、匯入,重度使用者可以多加利用

Advanced REST Client

另外一個很受歡迎也很強大的則是這一款Chrome應用程式「Advanced REST Client」,它的功能性也相當的多,但基本上和上述的RESTClient差不多,同樣可以儲存Request,另外還有歷史資料可以隨時套用,特別說明的一點是下圖中的「Headers」處(第一個紅框處),有分「Raw」和「Form」二種輸入方式,RAW是可以自行輸入語法,而Form則是幫我們把Key、Value的值處理好了,方便用戶輸入,而「Payload」就是上面提過的Body,即是要傳送的內容,一樣可以用RAW或Form來輸入

傳送回來的內容如下圖所示,如果你的回傳資料是JSON格式的話,那麼這款外掛也會重新美編過,讓我們容易閱讀、解析

另外,還有一款很強的「Postman – REST Client」 ,也是蠻多人使用的,用不慣Advanced REST Client的人倒是可以試試

其他線上工具

在這個小節裡,我想再提供幾個實用的網站和工具給大家,例如你不想用外掛的話,其實網路上就有幾個蠻不錯的線上工具可以直接利用

  • HackSt.:線上HTTP測試工具,支援GET、POST、PUT,是APIKitchen的繼承者
  • apigee:很強大的線上工具,GET、POST、PUT、DELETE都支援
  • RequestBin:幫你產生一個測試網址,你可以利用此網址做GET的測試,它還會提供幾個熱門程式語言的寫法供你參考,例如Python、Java、Ruby、C#/.Net、PHP、Node.js等
  • httpbin:HTTP Request & Response Service,裡面提供了許多的測試網址可以讓有需要的人進行連結測試