cURL转Dart

粘贴curl命令,得到用package:http发出同样请求的Dart代码。

cURL转Dart在浏览器中解析你的命令,凭据不会离开你的设备。

改为转成Swift

关于 cURL转Dart

后端文档给的是curl命令,Flutter应用需要的是Dart。这个转换工具在两者之间搭桥:按curl自己的规则解析参数,并生成基于package:http的代码——几乎每个Dart或Flutter项目都已经依赖这个包。请求头会收进带类型的映射,JSON请求体会写成Dart映射再交给jsonEncode,而不是粘一串字符串;基本认证则用base64Encode重新拼装。没有快捷方法的动词会退回到http.Request。

功能特性

如何使用 cURL转Dart

  1. 粘贴API文档里的curl命令
  2. 在右侧阅读生成的Dart代码
  3. 查看提示,确认有没有参数无法迁移
  4. 复制代码或下载为.dart文件

示例

输入

curl -X PUT https://api.example.com/users/1 -H 'Authorization: Bearer TOKEN' -d '{"role":"admin"}'

输出

final response = await http.put(url, headers: headers, body: body);

动词取自-X,JSON请求体会先写成Dart映射再编码。

常见错误与故障排除

常见问题

生成的代码能在Flutter应用里用吗?
可以。package:http在Flutter和纯Dart里行为一致,请求代码可以原样放进服务类,只需把末尾的打印换成你的应用逻辑。
该用package:http还是Dio?
package:http是更轻量的官方选择,足以应付绝大多数请求。Dio提供拦截器、取消和multipart便利,API也足够接近,迁移不难。
JSON请求体是怎么转换的?
先解析再写成Dart的映射字面量,然后用jsonEncode编码。嵌套对象和数组依旧可读,也方便把取值换成变量。
如果方法没有http.get这样的快捷函数呢?
生成的代码会用动词字符串构造http.Request并通过send()发送,PURGE、LINK等都能覆盖。
转换时会上传curl命令吗?
不会。解析和代码生成都在你的浏览器里进行,命令中的令牌和API密钥留在本地。

相关工具

全部 ArrayKit 工具