將 curl 轉換為 TypeScript
curl2code 使用 fetch API 將 curl 指令轉換為帶有正確型別註解的 TypeScript 程式碼。轉換過程在您的瀏覽器中透過 WebAssembly 執行 —— 您的資料絕不會離開您的裝置。若需純 JavaScript,請參考我們的 curl 轉 JavaScript 轉換器。若需伺服器端程式碼,請參閱 curl 轉 Node.js。下方是常見場景的具型別範例。
如何從瀏覽器複製 curl
- 1
開啟開發者工具 (DevTools)
按下 F12 或 Ctrl+Shift+I 來開啟您的瀏覽器開發者工具。
- 2
前往網路 (Network) 分頁
點擊 Network 分頁,並執行觸發 HTTP 請求的操作。
- 3
複製為 cURL
右鍵點擊該請求 → Copy → Copy as cURL。然後將其貼在上方。
常見問題解答
curl2code 為 TypeScript 生成什麼?
curl2code 使用瀏覽器原生的 fetch API 生成帶有完整型別註解的 TypeScript 程式碼。生成的程式碼包含型別化的請求選項、正確的 Response 處理以及型別安全的 JSON 解析。TypeScript 為純 JavaScript 中使用的相同 Fetch API 增加了編譯時安全性。
TypeScript fetch vs JavaScript fetch — 有什麼區別?
執行階段 API 是完全相同的 — TypeScript 增加了靜態型別檢查。您會獲得型別化的 Headers、RequestInit 和 Response 物件。對於自定義回應結構,請定義一個介面並使用 await response.json() as MyType 進行轉型。對於伺服器端 TypeScript,請查看我們的 curl 轉 Node.js 轉換器。
如何在 TypeScript 中處理身份驗證?
與 Fetch 相同 — 在型別化的 Authorization 物件中傳遞 HeadersInit 標頭。如果使用型別化的標頭輔助函式,TypeScript 可確保您不會拼錯標頭名稱。curl2code 會從 -u 和 -H 'Authorization: ...' curl 旗標生成正確型別化的驗證標頭。
如何使用 TypeScript 發送表單資料?
使用瀏覽器的 FormData API — TypeScript 具有其內建的型別定義。使用型別化的參數呼叫 formData.append('file', file)。編譯器會在建置時擷取不匹配的型別。curl2code 會將 -F 旗標轉換為正確型別化的 FormData 呼叫。
如何在 TypeScript 中以型別安全的方式處理錯誤?
搭配 try/catch 使用 async/await。將 catch 子句的錯誤型別設為 unknown 並使用 instanceof 進行縮小(narrowing)。在解析前檢查 response.ok。為 API 特定的錯誤格式定義帶有介面的型別化錯誤回應。這為您提供了編譯時保證,確保所有錯誤路徑都得到處理。
如何在 TypeScript 中定義 API 回應型別?
為預期的回應結構定義一個介面,然後使用 const data: MyAPI = await response.json()。如需在執行階段進行驗證,請搭配 zod 或 io-ts。此模式可確保整個程式碼庫的型別安全性。關於其他語言中類似的型別化體驗,請參閱 curl 轉 Go 或 curl 轉 Rust。
如何在 TypeScript 中為 fetch 設定逾時?
使用 AbortController — TypeScript 包含 Abort API 的完整型別定義。建立 const controller = new AbortController(),將 signal 傳遞給 fetch,並使用 setTimeout 中止。在現代 TypeScript lib 目標中,AbortSignal.timeout(ms) 簡寫已具備型別。
如何在 TypeScript 中處理 CORS?
CORS 處理與 JavaScript 完全相同 — 它是瀏覽器安全性功能,而非 TypeScript 功能。根據需要設定 mode: 'cors' 和 credentials: 'include',TypeScript 會確保正確的 RequestMode 和 RequestCredentials 列舉值。對於不適用 CORS 的伺服器端請求,請參閱 curl 轉 Node.js。
如何在 TypeScript 中發送帶有 JSON 主體的 POST 請求?
使用 curl2code 將類似 curl -X POST -H "Content-Type: application/json" -d '{"key":"value"}' URL 的 curl POST 指令轉換為 TypeScript。生成的程式碼使用 const response: Response = await fetch(url, { method: 'POST', body: JSON.stringify(data) })。curl2code 會自動偵測帶有 JSON 內容的 -d/--data 旗標,並在 fetch 程式碼中設置適當的 Content-Type 標頭。
如何在 TypeScript 中添加 Bearer 權杖授權?
將 curl -H "Authorization: Bearer YOUR_TOKEN" URL 傳遞給 curl2code,它會生成帶有授權標頭的 fetch 程式碼:headers: { Authorization: `Bearer ${token}` }。curl2code 會從 -H "Authorization: Bearer ..." 和 --oauth2-bearer 旗標中偵測 Bearer 權杖。對於 Basic auth,請使用 -u user:pass。
如何在 TypeScript 中設置 Content-Type 標頭?
curl2code 將 curl -H "Content-Type: application/json" URL 轉換為帶有正確標頭的 fetch 程式碼:headers: { 'Content-Type': 'application/json' } as HeadersInit。對於 -d 數據,curl 預設為 application/x-www-form-urlencoded;對於 -F 表單上傳,它使用 multipart/form-data。curl2code 會將每一項映射到正確的 fetch API。