如何使用带有行 ID 的 http put 请求更新数据库 table 中的行?

How to update row in a database table using http put request with id of the row?

我正在尝试使用 flutter web 应用程序中的 http put 请求更新我的数据库 table 行。 我的后端服务器运行良好,能够使用邮递员应用程序将数据放入数据库。但无法从我的 Flutter 网络应用更新数据。如何创建 Put 请求并使用行的 ID 更新数据。

在 browser_client.dart 上低于错误:

unawaited(xhr.onError.first.then((_) {
  // Unfortunately, the underlying XMLHttpRequest API doesn't expose any
  // specific information about the error itself.
  completer.completeError(
      ClientException('XMLHttpRequest error.', request.url),
      StackTrace.current);
}));

我在下面尝试 Api: id 是 table 中的行 ID。公司、姓名、地址、phone 是 updatable 变量。从flutter页面传自TextEditfields。

Future<Company> updatedata(
    id,
    company,
    name,
    address,
    phone,
    ) async {
  Uri url =
      Uri.parse("http://--link--/$id");
  var response = await http.put(url);
  print(response);
  headers:
  <String, String>{
    'Content-Type': 'application/json; charset=UTF-8',
  };

  body:
  jsonEncode(<String, String>{
    "company": company,
    "name": name,
    "address": address,
    "phone": phone,

  });


  if (response.statusCode == 200) {
    return Company.fromJson(json.decode(response.body));
  } else {
    throw Exception('Failed to update.');
  }
}

body 和 header 详细信息放在请求之外。确保将其与请求一起包含在内。

   var response = await http.put(url, headers:
      <String, String>{
        'Content-Type': 'application/json; charset=UTF-8',
      }, body:
         jsonEncode(<String, String>{
           "company": company,
            "name": name,
             "address": address,
              "phone": phone,

        });
       );