You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Flutter调用Omie API时出现Error 500问题排查

排查Flutter调用Omie API返回500错误的问题

我用Flutter的http库调用Omie API时始终返回500错误,但用Postman调用同一API却能正常运行,以下是我的实现代码,请帮忙排查错误:

Future<bool> get() async {
    final uri = Uri.parse('https://app.omie.com.br/api/v1/produtos/pedido/');
    Map<String, dynamic> data = {
      "call": "ConsultarPedido",
      "app_key": "3********1",
      "app_secret": "3*******b",
      "param": [
        {"codigo_pedido": "9159824162"}
      ]
    };
    http.Response response = await http.post(
      uri,
      headers: {"Content-type": "application/json"},
      body: json.encode(data),
    );
    print('statusCode: ${response.statusCode}');
    if (response.statusCode == 200) {
      return true;
    }
    return false;
  }

排查方向及修改建议

  • 对比请求体与Postman的差异:把Flutter中json.encode(data)生成的字符串打印出来,和Postman里的请求体逐字符对比,重点检查字段名、参数值是否完全一致,是否存在多余转义或格式差异。
  • 补充请求头:Postman默认会携带Accept头,试试在Flutter的请求头中添加"Accept": "application/json",部分API需要该头才能返回正确响应。
  • 显式指定编码:在http.post中添加encoding: Encoding.getByName('utf-8'),确保请求体以UTF-8编码发送,避免编码不一致导致的解析错误。
  • 打印响应详情:添加print('Response body: ${response.body}'),Omie API返回的500错误通常会包含具体原因,比如参数错误、权限问题等,这是定位问题的关键。
  • 验证密钥准确性:确认代码中的app_key和app_secret与Postman中使用的完全一致,无多余空格或字符。

修改后的示例代码

Future<bool> get() async {
  final uri = Uri.parse('https://app.omie.com.br/api/v1/produtos/pedido/');
  Map<String, dynamic> data = {
    "call": "ConsultarPedido",
    "app_key": "3********1",
    "app_secret": "3*******b",
    "param": [
      {"codigo_pedido": "9159824162"}
    ]
  };

  // 打印请求体,用于和Postman对比
  print('Request Body: ${json.encode(data)}');

  http.Response response = await http.post(
    uri,
    headers: {
      "Content-type": "application/json",
      "Accept": "application/json"
    },
    body: json.encode(data),
    encoding: Encoding.getByName('utf-8'),
  );

  print('Status Code: ${response.statusCode}');
  // 打印响应内容,获取错误详情
  print('Response Body: ${response.body}');

  return response.statusCode == 200;
}

内容的提问来源于stack exchange,提问作者Celso Spina

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 12:07:37