【问题标题】:Flutter Post Data To Json ApiFlutter 将数据发布到 Json Api
【发布时间】:2021-12-16 20:52:01
【问题描述】:

我有一个 json api。像这样'https://myapiurl.com/api.json'。我可以在这个 api 中读取数据,也可以在我的应用程序中获取数据。但我无法在我的 api 中发布数据。这是我的源代码。

我正在以这种方式获取数据。

Future<List<Stock>> getStock() async {
    var response = await http.get(Uri.parse("https://myapiurl.com/api.json"));
    var _stocks = <Stock>[];
    _stocks = (json.decode(utf8.decode(response.bodyBytes)) as List)
        .map((singleStockMap) => Stock.fromJson(singleStockMap))
        .toList();
    return _stocks;
  }

我正在尝试这种方式来发布数据。

postData() async {
    try {
      var response = await http
          .post(Uri.parse("https://myapiurl.com/api.json"), body: {
        "productName": 1.toString(),
        "productStock": "Hello",
      });
      print(response.body);
    } catch (e) {
      print(e);
    }
  }

怎么了?

【问题讨论】:

  • 参考我的回答here希望对你有所帮助
  • 返回成功。但它仍然没有将数据写入我的 api 文件。为什么会这样?
  • 您是否将数据打印到控制台并检查状态码
  • 是的,我做到了。这里没问题,但它没有将数据写入我的 api 文件。
  • 你能告诉我你的 api url 是托管的吗?我会在我的机器上检查。并给我列名

标签: flutter api flutter-desktop


【解决方案1】:

你必须在传递之前对你的身体进行编码:

passBody = json.encode(body);

【讨论】:

  • 我不明白。你能解释一下吗?
  • 您不能按原样发送您的 json,只需在发送前对其进行编码
猜你喜欢
  • 1970-01-01
  • 2013-09-09
  • 1970-01-01
  • 2022-01-04
  • 2016-12-19
  • 2016-11-06
  • 1970-01-01
  • 1970-01-01
  • 2017-01-19
相关资源
最近更新 更多