使用 API 時,了解如何透過請求傳送各種型別的資料非常重要。Apidog 提供使用者友善的介面,協助你使用不同的參數與主體資料型別來建構並傳送 API 請求。參數可讓你向伺服器傳送額外資訊。Apidog 支援兩種主要參數型別:Query params 與 Path params。Query Params#
查詢參數會附加在 URL 結尾的問號(?)之後,並以連字號(&)分隔。它們用於向伺服器傳送選用或額外的資料。在 Apidog 中,你有兩種方便的方式可以將查詢參數新增到 API 請求中:1.
直接在 URL 中新增:你可以直接將查詢參數附加到位址列中 URL 的結尾。例如:https://api.example.com/users?page=1&limit=10
2.
使用 Query Params 區段:Apidog 在 URL 輸入欄位下方提供專用的 Query Params 區段。你可以在此使用使用者友善的介面新增、編輯和移除查詢參數。你在此區段新增的參數會自動附加到請求 URL。
Query Params 中的等號#
在某些特殊情況下,查詢參數可能不會以鍵值對的形式出現。例如,請求 URL 可能是:https://api.example.com/users?available
在這種情況下,available 可以作為值為空的參數。當值為空時,Apidog 會自動省略鍵和值之間的等號。如果你不想省略此等號,可以手動將其變更為「新增等號」。Path Params#
路徑參數是 URL 路徑本身的一部分,通常用於識別特定資源。它們以 URL 中的預留位置表示,通常包在大括號 {} 中。https://api.example.com/users/{userId}
在 Apidog 中,你可以如上所示在 API URL 中定義路徑參數,它們會出現在下方的路徑參數區段中。你可以在路徑參數區段中填入路徑參數的值,當請求送出時,{param} 會被實際值取代。此功能在測試使用 URL 中資源識別碼的 RESTful API 時特別有用。如果你需要在路徑參數中使用變數,建議的方式是先在 URL 中使用 {param},然後在該 param 的值中使用 {{variable}}。
請求主體用於在 POST、PUT 或 PATCH 請求中將資料傳送到伺服器。Apidog 支援多種主體資料格式,以符合不同 API 需求。主體型別比較#
| 主體型別 | Content-Type | 使用情境 | 檔案上傳支援 |
|---|
| form-data | multipart/form-data | 含檔案的表單提交 | ✓ 是 |
| x-www-form-urlencoded | application/x-www-form-urlencoded | 簡單表單提交 | ✗ 否 |
| JSON | application/json | 結構化資料交換 | ✗ 否 |
| XML | application/xml | 舊版系統、SOAP API | ✗ 否 |
| raw | 自訂(text/plain 等) | 自訂資料格式 | ✗ 否 |
| binary | application/octet-stream | 檔案上傳、二進位資料 | ✓ 是 |
| GraphQL | application/json | GraphQL 查詢/變更 | ✗ 否 |
| msgpack | application/msgpack | 高效能資料傳輸 | ✗ 否 |
Form-data 是一種傳送鍵值對的方式,類似提交 HTML 表單。當你需要上傳檔案並同時傳送其他資料時,此格式特別有用。form-data 型別的主體會在請求中顯示為 multipart/form-data。對於主體中的每個參數,你都可以選擇其型別,例如 string、integer 等。在 form-data 中傳送 JSON:如果你需要在 form-data 中傳送 JSON,需要將參數型別設定為 string,然後在字串欄位中填入 JSON。傳送檔案:如果你需要在請求中傳送檔案,請選擇型別為 file,然後點擊「Upload」選擇本機檔案。Apidog 只會在請求中傳送檔案,但不會將檔案儲存在雲端。因此,在團隊協作期間,其他人可以看到此請求,但無法直接傳送此檔案。你需要透過其他方式將此檔案傳給同事,讓他們才能傳送。
此格式類似查詢參數,但會在請求主體中傳送。它通常用於提交不含檔案上傳的簡單表單。在 Apidog 中,你可以使用鍵值介面輕鬆新增和編輯 x-www-form-urlencoded 資料。JSON#
JSON 是 API 請求與回應中廣泛使用的資料格式。你可以在端點的 Request → Body → JSON 區段中設計資料結構描述。手動新增欄位時,預設資料型別為 string。如果需要新增巢狀欄位,請將欄位型別變更為 object 或 array。如果你希望在 JSON 中新增註解,可以在 Settings → General settings → Feature settings → Advanced settings 中啟用「JSON with comments support」。傳送 JSON 時,這些註解會自動移除。
XML#
XML(eXtensible Markup Language)是 API 通訊中使用的另一種常見資料格式。Apidog 支援 XML payload,讓你能夠透過 API 請求以 XML 格式傳送結構化資料。raw#
raw 選項可讓你在請求主體中傳送任何自訂資料格式。當 API 需要其他選項未涵蓋的特定資料結構或格式時,這會很有用。binary#
可以使用此選項傳送二進位資料,這在上傳檔案或使用需要二進位 payload 的 API 時特別有用。Apidog 可讓你選擇並傳送二進位檔案,作為 API 請求的一部分。GraphQL#
對於使用 GraphQL 的 API,Apidog 提供專用的 GraphQL 編輯器。此功能可讓你建構並傳送 GraphQL 查詢與變更,並提供語法醒目提示與自動完成。查看 Apidog 中的 GraphQL 文件,以取得更多關於使用 GraphQL API 的資訊。
msgpack#
MessagePack(msgpack)是一種二進位序列化格式,比 JSON 更精簡且更快速。Apidog 支援傳送 msgpack 資料,這在使用針對效能與減少資料傳輸量最佳化的 API 時很有幫助。