无法将参数类型“String”分配给 firebase 函数上的参数类型“Uri”

时间:2021-04-11 15:42:02

标签: firebase flutter package

我升级了 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,
          );


2 个答案:

答案 0 :(得分:3)

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

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

答案 1 :(得分:0)

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

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

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