REST API 測試工具
REST API 測試工具。
請求
響應
| 狀態 | {{ status }} |
|---|---|
| 請求頭 | {{ hkey }}: {{ hval }} |
* 除非 API 添加了 'Access-Control-Allow-Origin': * 響應頭,否則無法獲取資料。如使用 Chrome,可考慮安裝相關擴充套件程式。
https://chromewebstore.google.com/detail/cors-unblock/lfhmikememgdcahcdlaciloancbhjino
REST API 測試工具是什麼
REST API 測試工具是可在瀏覽器上指定 HTTP 方法(GET、POST、PUT、DELETE 等)向 API 端點發送請求,並當場確認狀態碼、回應標頭與回應主體的工具。無須安裝 Postman 這類桌面應用程式或命令列用的 cURL,只用瀏覽器即可進行 API 的行為驗證。
可用於 API 開發中的行為確認,或想試著呼叫公開 API 以掌握其回應格式時。不過因為是由瀏覽器直接送出請求的機制,若目標 API 未允許 CORS(Access-Control-Allow-Origin 標頭),便無法接收回應,這點請留意。
REST API 測試工具的使用方法
- 選擇 HTTP 方法 從 GET、POST、PUT、PATCH、DELETE 等中,選擇對應您想執行操作的方法。
- 輸入端點 URL 輸入請求目標 API 的 URL。請指定以 https 開頭的完整 URL。
- 視需要設定標頭與主體 輸入認證權杖或 Content-Type 等標頭,以及以 POST/PUT 送出的 JSON 主體。
- 送出並確認回應 狀態碼、回應標頭與主體會當場顯示。
用好本工具的小技巧
- 受 CORS 限制,無法直接請求沒有
Access-Control-Allow-Origin響應頭的 API。請使用公開 API 或已允許 CORS 的 API。 - 在請求頭中設定
Content-Type: application/json可傳送 JSON 請求體。 - HTTP 狀態碼速查:2xx=成功,4xx=客戶端錯誤(401=未授權,404=未找到),5xx=伺服器錯誤。
- 需要 Bearer Token 認證的 API,請在請求頭中新增
Authorization: Bearer {token}。
REST API 測試工具的實用場景
開發中 API 的行為確認
可在實作的同時,立即確認自行開發的後端 API 是否回傳預期的回應。
公開 API 回應格式的調查
在閱讀外部服務的 API 文件之前,可實際送出請求以確認回應的 JSON 結構。
認證標頭的行為確認
可測試附上 Bearer 權杖或 API 金鑰的請求是否能正確通過認證。
錯誤回應內容的確認
可刻意以不正確的參數送出請求,確認 API 會回傳怎樣的錯誤訊息與狀態碼。
術語解釋
- REST
- Representational State Transfer 的縮寫。是以 HTTP 方法與 URL 操作資源的 Web API 設計風格。
- CORS
- Cross-Origin Resource Sharing 的縮寫。是瀏覽器限制向不同來源(網域)發送請求的機制,除非 API 伺服器回傳允許標頭,否則無法讀取回應。
- 端點(Endpoint)
- 指 API 接受請求的 URL。例如「/api/users」,用以指示操作對象的資源。
- HTTP 方法
- 指示請求種類的識別字。包含 GET(取得)、POST(建立)、PUT(更新)、DELETE(刪除)等。
- Bearer 權杖
- API 認證常用的權杖格式。以「Authorization: Bearer {token}」的形式附加於請求標頭。
常見問題
Access-Control-Allow-Origin 響應頭,瀏覽器會攔截該請求。請使用公開 API 或已允許 CORS 的 API,或安裝 CORS Unblock 等瀏覽器擴充套件程式。Content-Type: application/json,並在請求體輸入框中填寫合法的 JSON 字串後傳送即可。Authorization: Bearer {your_token},將 {your_token} 替換為您的實際令牌字串後傳送。
閒話 ― REST 的誕生:Roy Fielding 的博士論文如何改變了 Web 開發
REST 由 Roy Fielding 於 2000 年在其博士論文「Architectural Styles and the Design of Network-based Software Architectures」中提出。Fielding 是 HTTP/1.1 規範的主要共同作者之一,REST 概念正是他在梳理 HTTP 設計思想的過程中誕生的。
Twitter 在 2010 年前後從 SOAP 遷移至 REST API 並向開發者開放,推動了 REST 的爆炸式普及。如今,Stripe、GitHub、Slack、OpenAI(ChatGPT)等眾多知名服務均提供 REST API,共同構成了所謂的"API 經濟"。
REST API 設計中原本包含"超媒體作為應用狀態引擎(HATEOAS)"這一約束,但嚴格實現它的服務寥寥無幾。"是否真正符合 REST"的爭論在 Web 開發社群週期性掀起熱潮,"RESTful"的定義至今仍有爭議。