【问题标题】:The argument type 'String' can't be assigned to the parameter type 'Uri' on firebase function参数类型“字符串”不能分配给 firebase 函数上的参数类型“Uri”
【发布时间】:2021-07-06 20:37:28
【问题描述】:

我升级了 Firebase 的所有软件包。

这次升级后,我在 Firebase 函数的所有引用上都有以下错误消息。

新版firebase如何引用url。

参数类型'String'不能赋值给参数类型'Uri'.dart(argument_type_not_

@override
  Future<bool> initiateRefund(Map initiateRefundMap) async {
    try {
      //refund
      switch (initiateRefundMap['paymentMethod']) {
        case 'CARD':
          Map<dynamic, dynamic> refundMap = {
            'transactionId': initiateRefundMap['transactionId'],
          };
          var refundRes = await http.post(
            'https://us-********-**********cloudfunctions.net/createStripeRefund', //TODO: Change this URL //it should look something like : https://us-********-**********.cloudfunctions.net/createStripeRefund
            body: refundMap,
          );


【问题讨论】:

    标签: firebase flutter package


    【解决方案1】:

    您需要从字符串创建一个 Uri,然后将其传递给函数。试试这个代码:

    var uri = Uri.parse('https://us-********-**********cloudfunctions.net/createStripeRefund');
    

    【讨论】:

    • Eduardo,这是正确的,我在发布问题后添加。
    【解决方案2】:

    尝试使用 Uri.parse 转换 url 正如爱德华多·佩伦茨所说 var uri = Uri.parse('url here'); 或者,如果这对您不起作用,例如在我的情况下,我使用的是 const 而不是 var ,如上所述。 然后尝试解析 uri 或变量/标识符,而不是它的值/url。

    var uri = "url here";
    Uri.parse(uri);
    

    或类似的,希望你能明白,仍有疑问或问题随时回复此答案

    【讨论】:

      猜你喜欢
      • 2021-06-26
      • 2022-01-21
      • 1970-01-01
      • 2021-10-21
      • 2021-10-13
      • 2021-06-19
      • 2021-09-04
      相关资源
      最近更新 更多